2010-07-22 3 views
-3

В C++, что означает ошибка, «класс не называет тип»?Класс не называет тип C++

+0

Дайте дополнительную информацию. – Philipp

+0

Я уверен, что это не ошибка, которую вы получаете? – StuartLC

+1

@nonnb: Что с вопросительным знаком? Вы спрашиваете или заявляете? –

ответ

2

Как я уже сказал, вы, вероятно, пытаетесь использовать тип перед объявлением. код будет делать вещи очень ясно, но я предполагаю, что у вас есть такой код:

class someclass 
{ 
public: 
...... 
otherclass other_object; 
...... 
> 
};  

class otherclass 
{ 
public: 
...... 
someclass some_object; 
...... 
}; 
5

Привет, В C++, что означает ошибка, «класс не называет тип»?

Это синтаксическая ошибка, вызванная тем, что анализатор запутался в ошибке вашего кода.

C++ имеет сложный синтаксис, и очень трудно правильно разобрать, так что, казалось бы, безобидные ошибки, как забывание ; в конце class определения может запутать компилятор до точки, где ни один из сообщений об ошибках, кажется, не имеют никакого смысла ,
Как правило, всегда сначала решайте первое сообщение об ошибке, потому что все остальные могут возникнуть из-за того, что анализатор запутался в первой ошибке.

Ошибки, подобные тем, о которых вы просили, обычно вызываются некоторой ошибкой над точкой, на которую намекает компилятор. Если, по-видимому, не существует кода выше этой ошибки, ошибка часто возникает из-за ошибки в одном из заголовков, которые вы включаете. попробуйте включить их в пустой файл реализации и посмотреть, скомпилируются ли они.

Если все остальное не удается, попробуйте сконфигурировать проблему самостоятельно на 20 строк кода, которые воспроизводят ее. Начните с комментирования кода до тех пор, пока ошибка не исчезнет. При этом вы, скорее всего, найдете проблему. Если нет, эти 20 строк идеально подходят для размещения их здесь и спрашивают о проблеме.

0

Возможно, вы вышли из объявления типа, как в следующем:

int main() { 
    register a a; 
} 

Однако, я думаю, что точное сообщение об ошибке «класс не называет тип» нельзя провоцировать.

Смежные вопросы