我在從main.cpp文件中取出這個類並將其分割爲.h和.cpp後,我遇到了這段代碼,編譯器開始抱怨我在void中使用的默認參數。編譯器抱怨我的默認參數?
/* PBASE.H */
class pBase : public sf::Thread {
private:
bool Running;
public:
sf::Mutex Mutex;
WORD OriginalColor;
pBase(){
Launch();
Running = true;
OriginalColor = 0x7;
}
void progressBar(int , int);
bool key_pressed();
void setColor(int);
void setTitle(LPCWSTR);
bool test_connection(){
if(Running == false){
return 0;
}
else{
return 1;
}
return 0;
}
void Stop(){
Running = false;
if(Running == false) Wait();
}
};
/* PBASE.CPP */
// ... other stuff above
void pBase::setColor(int _color = -1){
if(_color == -1){
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY | OriginalColor);
return;
}
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY | _color);
}
和誤差,來自VC2010採取
錯誤4錯誤C2572: 'PBASE ::的setColor':默認參數的重新定義:參數1
好吧!它的工作原理(有點奇怪,因爲當我將整個代碼放在一個文件中時它工作的很好)。 – Christian 2011-06-02 04:46:11