Comparison between pointer and integer. Как решить?
Несколько вариантов.
1. pnumber превратить в string
2. strncmp(s[0].pnumber, std::size(s[0].pnumber), "2") == 0
3. std::string_view(s[0].pnumber) == "2"
Прости, глючу, и там. и там нужны двойные кавыки
У тебя ошибка потому что pnumber - это массив символов, и ты пытаешься сравнить весь массив с одним символом. Тебе нужно было писать s[0].pnumber[0] == '2' && s[1].pnumber[1] == '2', чтобы сравнить первые два символа массива с двойками.  Кроме того зачем тебе переменная max, которая является float при том, что в структуре duty(если использовать правильный перевод, то debt) хранится в виде int, ведь нигде кроме присвоений она не используется. Вот что получилось у меня, может узнаешь что-то новое. 
Код
#include <iostream>
struct subscriber
{
	int number;
	std::string name;
	std::string address;
	std::string phone_number;
	int debt;
};

int main(int argc, char** argv)
{
	int subscribers_amount = 0;
	std::cout << "Enter the number of subscribers: " << std::endl;
	std::cin >> subscribers_amount;

	std::vector<subscriber> subscribers(subscribers_amount);
	for (auto& subscriber : subscribers)
	{
		std::cout << "Number: "; std::cin >> subscriber.number;
		std::cout << "Debt: "; std::cin >> subscriber.debt;

		std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
		
		std::cout << "Name: "; std::getline(std::cin, subscriber.name);
		std::cout << "Address: "; std::getline(std::cin, subscriber.address);
		std::cout << "Phone number: "; std::getline(std::cin, subscriber.phone_number);

		std::cout << std::endl;
	}

	int max_debt_subscriber = -1;

	for (int i = 0; i < subscribers.size(); i++)
	{
		if (subscribers[i].phone_number.substr(0, 2) == "22")
		{
			if (subscribers[i].debt > subscribers[max_debt_subscriber].debt)
			{
				max_debt_subscriber = i;
			}
		}
	}

	if (max_debt_subscriber != -1)
	{
		std::cout << "Number: " << subscribers[max_debt_subscriber].number << std::endl;
		std::cout << "Name: " << subscribers[max_debt_subscriber].name << std::endl;
		std::cout << "Address: " << subscribers[max_debt_subscriber].address << std::endl;
		std::cout << "Phone number: " << subscribers[max_debt_subscriber].phone_number << std::endl;
		std::cout << "Debt: " << subscribers[max_debt_subscriber].debt << std::endl;
	}
	else
	{
		std::cout << "No subscribers found" << std::endl;
	}

	return 0;
}