Ответ 1
Удалить typedef
. Это C способ объявления структур, С++ делает это автоматически для вас.
Это предупреждение запускается несколько раз в моем коде тем же объявлением, которое гласит:
// Spreadsheet structure
typedef struct SPREADSHEET
{
int ID; // ID of the spreadsheet
UINT nLines; // Number of lines
void CopyFrom(const SPREADSHEET* src)
{
ID = src->ID;
nLines = src->nLines;
}
};
Я не хочу просто отключать это предупреждение,
но скорее измените код, чтобы предупреждение не появилось!
ПРИМЕЧАНИЕ. Я не хочу объявлять какие-либо переменные здесь (это заголовочный файл), только определить, что должна включать структура "SPREADSHEET"...
Удалить typedef
. Это C способ объявления структур, С++ делает это автоматически для вас.
Вам нужно добавить некоторый идентификатор перед завершающим ;
, например:
typedef struct BLAH { ... } BLAH;
Просто удалите "typedef
". Вы объявляете новую структуру, и для этого не используется ключевое слово typedef
. Вы должны использовать typedef
для определения нового имени для существующего типа, например:
typedef int number;
Да, BLAH
после закрытия скобки важно сделать typedef
допустимым. Вы можете удалить SPREADSHEET
из текущего места и сохранить его между }
и ;
.
Моя интерпретация этого предупреждения заключается в том, что компилятор указывает, что ключевое слово typedef
не требуется, поскольку переменная не объявляется. и поэтому, если намерение кода состоит в том, чтобы просто объявить struct
, значение typedef
является излишним.