所以我試圖在C++中編程國際象棋,我決定讓我的移動處理程序它自己的類(這是一個主要功能之前),所以我可以用它在我的一些其他而不必複製到任何地方。函數不是全局命名空間的成員
然而,當我完成設置的一切了,我得到這個錯誤:「parseMove」:是不是「`全局命名空間」」
我使用的標準命名空間和所有公共函數和變量的一員,我知道,所以請不要提出來,除非它是相關的。我的IDE是MS的Visual C++ 2012
下面是代碼:
在主:
void playGame(){
...
MoveParser parser; //declare move handler
...
//example of use
parser.parseMove(current, currentX, currentY);
...
}
MoveParser.h:
#pragma once
#include <sstream>
#include <iostream>
#include <string>
using namespace std;
class MoveParser
{
public:
MoveParser(void);
~MoveParser(void);
void parseMove(string, int &, int &);
};
MoveParser.cpp:
#include "MoveParser.h"
MoveParser::MoveParser(void)
{
}
MoveParser::~MoveParser(void)
{
}
void::parseMove(string str, int &x, int &y){
//random junk
}
還有Visual C++正在給我一些新的錯誤,這些錯誤並不是真實的......我知道它們並不是真實的,因爲它給我錯誤的代碼在添加新類之前運行良好,而且我沒有改變它。
無論如何,非常令人沮喪,希望有人能指出我在正確的方向。
你忘了'MoveParser ::'在'MoveParser.cpp'的最後一個函數。 –