gpt4 book ai didi

c++ - “板”未在此范围内声明

转载 作者:行者123 更新时间:2023-11-30 01:53:23 29 4
gpt4 key购买 nike

我正在编写一个 C++ 井字游戏,这是我目前拥有的:

#include <iostream>
using namespace std;

int main()
{
board *b;
b->draw();
return 0;
}
class board
{
void draw()
{
for(int i = 0; i < 3;++i){
cout<<"[ ][ ][ ]"<<endl;
}
}

};

但是,当我创建指向板的指针时,CodeBlocks 给了我一个错误:“板”未在此范围内声明。我该如何解决?我是一名新的 C++ 程序员。

最佳答案

您至少存在以下问题:

  • 在尝试访问堆对象之前,您没有对其进行初始化。在这个简单的场景中,我建议使用堆栈对象而不是堆。

  • 在堆上实例化之前,您不知道板的类型。只需将 board 类声明移到 main 函数之前或向前声明它。在这种简单的情况下,我会选择“正确的顺序”。

  • draw 方法是私有(private)的,因为这是类中默认的“可见性”。您需要将其标记为公开。或者,您可以切换到结构而不是类以使板方法可用,因为默认的“可见性”在结构中是公开的。

这应该可以修复您的代码:

#include <iostream>
using namespace std;

class board
{
public:
void draw()
{
for(int i = 0; i < 3;++i){
cout<<"[ ][ ][ ]"<<endl;
}
}

};

int main()
{
board b;
b.draw();
return 0;
}

关于c++ - “板”未在此范围内声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23184817/

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