2013-11-04 3 views
0

Почему это C++ программа дает мне ошибки:C++ Ошибка в программе составителя

#include <iostream> 
using namespace std; 

int main(){ 
    NumbersClass num;  
    num.setNumbers(1);   
} 

class NumbersClass 
    { 
    public: 
     NumbersClass() {}   
     void setNumbers(int i) { }   
    }; 

Вот мои ошибки:

taskbcplus.cpp(7): error C2065: 'NumbersClass' : undeclared identifier 
taskbcplus.cpp(7): error C2146: syntax error : missing ';' before identifier 'num' 
taskbcplus.cpp(7): error C2065: 'num' : undeclared identifier 
taskbcplus.cpp(9): error C2065: 'num' : undeclared identifier 
taskbcplus.cpp(9): error C2228: left of '.setNumbers' must have class/struct/union 
1>   type is ''unknown-type'' 
+0

В C++ вы, по крайней мере, должны иметь * объявление * перед использованием (например, это отличается от C#). – crashmstr

+0

О, хорошо. Простое исправление. – Zapnologica

+0

@crashmstr В этом случае вам также потребуется определение класса, так как вы создаете его в 'main'. – juanchopanza

ответ

5

Вы должны поместить NumberClass определение до точки, в которой вы первый его экземпляр, т.е. до main.

class NumbersClass 
{ 
public: 
    NumbersClass() {}   
    void setNumbers(int i) { }   
}; 

int main(){ 
    NumbersClass num;  
    num.setNumbers(1);   
} 
Смежные вопросы