函数不是全局命名空间的成员
function is not a member of global namespace
所以我正在尝试用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
}
而且视觉C++也给了我一些不真实的新错误......我知道它们不是真实的,因为它给我错误的代码在我添加新类之前运行良好,我没有更改它。
无论如何,非常令人沮丧,希望有人能为我指出正确的方向。
您忘记在其定义中在函数名称之前指定类名。更改此代码
void::parseMove(string str, int &x, int &y){
//random junk
}
自
void MoveParser::parseMove(string str, int &x, int &y){
//random junk
}
相关文章:
- 命名空间 std 没有成员any_of
- 为什么 Clang 在命名空间'std'中没有名为 'copy' 的成员给出错误
- 初始化命名空间中的变量是否类似于将它们初始化为类成员?
- 在 c++ 中使用类的命名空间定义类的成员
- Catalina C++:使用<cmath>标头产生错误:全局命名空间中没有名为 'signbit' 的成员
- 命名空间 Win 没有成员"simpleControl"是什么意思
- Visual Studio 2017:命名空间"System"没有成员"Windows"
- 如何从嵌套在命名空间中的类调用成员函数?
- 成员的结构与命名空间的潜在范围
- 类成员函数在其命名空间之外定义
- Typedef 不是命名空间的成员
- 命名空间 pcl 在点云库中没有名为 PointCloud 的成员
- 将typeID转换为静态成员访问(C )的命名空间
- 无法解析命名空间成员"线程"
- 命名空间:不能在没有对象的情况下调用成员函数
- "uintmax_t":不是"全局命名空间"的成员
- OpenCV CUDA 函数缺失 - 命名空间"cv:cuda"没有成员"resize"
- 错误:"成员"在此上下文中是私有的 - 命名空间
- 从另一个命名空间访问标准命名空间数据成员
- 使用命名空间进行函数成员定义