2011-07-31 4 views
0

첫째, 미안 내 나쁜 영어 = ((오류 C2146 및 C4430

Sencond :

여기 내 코드는 "Global.h"에있다 :

#pragma once 
class GlobalVariable 
{ 
public: 
    GlobalVariable(void); 
    ~GlobalVariable(void); 

    //------------------------------------------------ 
public: 
    double pixelWidth;  // do rong cua 1 pixel tren Viewport 
    double pixelHeigh;  // do cao cua 1 pixel tren Viewport 

public: 
    Point oldPoint, tempPoint; 
    Circle oldCir,  tempCir; 
    DaGiac oldDaGiac, tempDaGiac; 
    Color oldObjColor,tempObjColor, OxyColor; 

}; 

class Point 
{ 
public: 
    Point(void); 
    ~Point(void); 

    double x,y;   // toạ độ (x,y) 
}; 

class Color 
{ 
public: 
    Color(void); 
    ~Color(void); 

    double R,G,B;   // màu (R,G,B) 
}; 

class DaGiac 
{ 
public: 
    DaGiac(void); 
    ~DaGiac(void); 

    int numOfPeak; //so' dinh? 
    Point peakArr[10]; // ve da giac canh so dinh toi da la 10 
}; 

class Circle 
{ 
public: 
    Circle(void); 
    ~Circle(void); 

    Point centre; 
    double radius; 

};


과 나는 몇 가지 오류가 있습니다. (

------ Build started: Project: GAS, Configuration: Debug Win32 ------ 
Compiling... 
GlobalVariable.cpp 
e:\documents\bin\gas_project\globalvariable.h(15) : error C2146: syntax error : missing ';' before identifier 'oldPoint' 
e:\documents\bin\gas_project\globalvariable.h(15) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 
e:\documents\bin\gas_project\globalvariable.h(15) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 
e:\documents\bin\gas_project\globalvariable.h(15) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 
e:\documents\bin\gas_project\globalvariable.h(16) : error C2146: syntax error : missing ';' before identifier 'oldCir' 
e:\documents\bin\gas_project\globalvariable.h(16) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 
e:\documents\bin\gas_project\globalvariable.h(16) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 
e:\documents\bin\gas_project\globalvariable.h(16) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 
e:\documents\bin\gas_project\globalvariable.h(17) : error C2146: syntax error : missing ';' before identifier 'oldDaGiac' 
e:\documents\bin\gas_project\globalvariable.h(17) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 
e:\documents\bin\gas_project\globalvariable.h(17) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 
e:\documents\bin\gas_project\globalvariable.h(17) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 
e:\documents\bin\gas_project\globalvariable.h(18) : error C2146: syntax error : missing ';' before identifier 'oldObjColor' 
e:\documents\bin\gas_project\globalvariable.h(18) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 
e:\documents\bin\gas_project\globalvariable.h(18) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 
e:\documents\bin\gas_project\globalvariable.h(18) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 
e:\documents\bin\gas_project\globalvariable.h(18) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 
Build log was saved at "file://e:\Documents\BIN\GAS_Project\Debug\BuildLog.htm" 
GAS - 17 error(s), 0 warning(s) 
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== 

그러나 GlobalVariable 클래스를 삭제 한 후에! 오직 Point, Color, DaGiac, Circle 만 존재합니다! 그것은 eror가 없다! 이유를 알려주십시오. 그리고 그 오류를 중재하는 방법? 제발 = ((

답변

2
그들이 GlobalVariable 클래스 후 을 정의하고 있기 때문에 컴파일러는, 다른 클래스 "를 참조하십시오"수 없습니다. 파일의 맨 아래에 전체 GlobalVariable 클래스를 이동

의 모든 클래스 있도록 에 따라 다릅니다.

+0

오 하하 ..... 나는 해냈습니다. X : X 크리스가 너무 감사드립니다. X : X – Ebizz6996