Я все еще пытаюсь обернуть голову вокруг указателей и строк в C для класса, который я беру. В приведенном ниже примере g_reservations [] [] - глобальная переменная (я знаю, что она не идеальна, но я не могу это изменить).
ошибка: предупреждение C4047 'function': 'const char *' отличается по уровнямпереадресации от 'char' EconoAirBeta ... 299
* пассажир - это указатель, поэтому создать указатель на глобальный? Это кажется ненужным ...
как мне сделать эту работу? Я чувствую, что упускаю какую-то невероятно простую концепцию, которую мой мозг не может понять ...
unsigned int FindSeatWithPassenger(const char *passengerName)
{
unsigned int seat = 0;
for (seat = 0; seat < NUM_SEATS; ++seat)
{
if ( strncmp(passengerName, g_reservations[seat][0], NAME_LENGTH) != 0) //error here with global variable
{
return seat;
break;
}
}
return '\0';
}
Глобальная декларация:
#define NAME_LENGTH 10
#define NAME_BUFFER_LENGTH ( NAME_LENGTH + 1 )
char g_reservations[NUM_SEATS][NAME_BUFFER_LENGTH];