Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 尝试在单独的类中定义变量时遇到一些问题-请使用。_C++_Oop_Console Application - Fatal编程技术网

C++ 尝试在单独的类中定义变量时遇到一些问题-请使用。

C++ 尝试在单独的类中定义变量时遇到一些问题-请使用。,c++,oop,console-application,C++,Oop,Console Application,我正在尝试使用OOP制作一个井字游戏,但我遇到了一个问题。当我试着制作一个总共有9个方块的游戏板,并且所有方块都是空的,作为一个向量,我会做以下的操作 Main #include "stdafx.h" #include <vector> int main() { char empty = ' '; //Empty square on playing board const int numbOfSquares = 9; //Total amount of squa

我正在尝试使用OOP制作一个井字游戏,但我遇到了一个问题。当我试着制作一个总共有9个方块的游戏板,并且所有方块都是空的,作为一个向量,我会做以下的操作

Main

#include "stdafx.h"

#include <vector>

int main()
{

    char empty = ' '; //Empty square on playing board
    const int numbOfSquares = 9; //Total amount of squares on board
    std::vector<char> board(numbOfSquares, empty); // The playing board

    return 0;
}
#包括“stdafx.h”
#包括
int main()
{
char empty='';//播放板上的空方块
const int numbOfSquares=9;//板上的方块总数
std::向量板(numbOfSquares,空);//播放板
返回0;
}
在我的董事会课堂上,我试图做同样的事情,但不是以同样的方式工作

Board.h

#pragma once
#include <vector>

class Board
{
private:
    const char empty = ' '; //Empty square on game board
    const int numbOfSquares = 9; //Number of squares on the board
    std::vector<char> board(numbOfSquares, empty); //The playing board
public:

};
#pragma一次
#包括
班级委员会
{
私人:
const char empty='';//游戏板上的空方块
const int numbOfSquares=9;//板上的方块数
std::向量板(numbOfSquares,空);//播放板
公众:
};
表示“NumberOfSquares”和“empty”不是类型名时出错。我想我理解这个错误信息,但我不确定如何解决它。我可以-重载吗,这是不是成员函数中的术语-board变量

我完全不知道该怎么办,希望能得到一些帮助。谢谢你抽出时间

std::矢量板(无正方形,空)。相反,您应该使用构造函数初始值设定项列表:

Board(): board(numbOfSquares, empty)
{
}
所有成员都可以这样初始化。例如,您的行
const int numbOfSquares=9是用于编写以下内容的快捷方式:

Board(): numbOfSquares(9)
{
}
但是,对于需要在括号中提供构造函数参数的情况,没有这样的快捷方式

有一种快捷方式可以将构造函数参数作为带大括号的初始值设定项列表提供,但是明智的做法是避免对
vector
执行此操作,因为向量更愿意将大括号的内容视为向量的初始值列表,而不是构造函数参数