функция не является членом глобального пространства имен

Поэтому я пытаюсь программировать шахматы на 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 ++ дает мне некоторые новые ошибки, которые не являются реальными … и я знаю, что они не являются реальными, потому что код, который он дает мне ошибки, работал нормально, прежде чем я добавил новый класс, и я не изменил его ,

В любом случае, очень расстраивает, надеюсь, кто-то может направить меня в правильном направлении.

1

Решение

Вы забыли указать имя класса перед именем функции в его определении. Изменить этот код

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

//random junk

}

в

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

//random junk

}
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]