gpt4 book ai didi

c++ - 函数不是全局命名空间的成员

转载 作者:行者123 更新时间:2023-11-30 04:08:26 36 4
gpt4 key购买 nike

所以我尝试用 C++ 编写国际象棋程序,我决定让我的移动处理程序成为它自己的类(之前它是一个主函数),这样我就可以在我的其他一些类中使用它,而不必在任何地方复制它。

但是,当我完成所有设置后,出现了这个错误:'parseMove' : is not a member of '`global namespace''

我正在使用标准命名空间和所有公共(public)函数和变量,我知道这一点,所以请不要提出它,除非它是相关的。我的 IDE 是 MS Visual C++ 2012。

代码如下:

主要是:

void playGame(){
...
MoveParser parser; //declare move handler
...
//example of use
parser.parseMove(current, currentX, currentY);
...
}

移动解析器.h:

#pragma once
#include <sstream>
#include <iostream>
#include <string>

using namespace std;

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

void parseMove(string, int &, int &);
};

移动解析器.cpp:

#include "MoveParser.h"


MoveParser::MoveParser(void)
{
}


MoveParser::~MoveParser(void)
{
}

void::parseMove(string str, int &x, int &y){

//random junk

}

而且 Visual C++ 也给了我一些不真实的新错误……我知道它们不是真实的,因为它给我错误的代码在我添加新类之前运行良好,但我还没有我改变了它。

无论如何,非常令人沮丧,希望有人能指出我正确的方向。

最佳答案

您忘记在其定义中的函数名之前指定类名。更改此代码

void::parseMove(string str, int &x, int &y){

//random junk

}

void MoveParser::parseMove(string str, int &x, int &y){

//random junk

}

关于c++ - 函数不是全局命名空间的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21842142/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com