Похоже, вы не включаете все, что нужно включить, или у вас неправильно сформировано объявление класса / структуры.
Иногда этот тип ошибки генерируется, потому что идентификатор прямо перед test
- это то, о чем компилятор ничего не знает, поэтому он обрабатывает оператор с test
как объявление для этого идентификатора вместо test
. Затем, когда он видит test
, это синтаксическая ошибка.
Итак, если у вас есть строка:
CSomeObject test;
но компилятор ничего не знает о CSomeObject
, вы получите сообщение об ошибке.
Вы также увидите проблему с чем-то вроде следующего:
class CSomeObject {
// ...
} // there's a missing semi-colon here
CSomeObject test;
потому что происходит то, что второй CSomeObject является экземпляром class CSomeObject
, а `test является ложной синтаксической ошибкой.
Чтобы синтаксически исправить, это должно выглядеть так:
class CSomeObject {
// ...
}; // note the semi-colon...
CSomeObject test;