C++ 错误C2065:但它肯定已声明 #包括 #包括 #包括 #包括 #包括“battleshipgrid.h” 使用名称空间std; 战列舰格线::战列舰格线() { 对于(int i=0;ivoid battleshipgrid::print()?哇,谢谢你们,我好尴尬。@DoomMuffins bool battleshipgrid::hit(position pos) { return o.hit(pos); } bool battleshipgrid::miss(position pos) { return !o.hit(pos); } bool battleshipgrid::empty(position pos) { return ('o'==waters[pos.getcol()][pos.rowindex()]); } void battleshipgrid::print ()

C++ 错误C2065:但它肯定已声明 #包括 #包括 #包括 #包括 #包括“battleshipgrid.h” 使用名称空间std; 战列舰格线::战列舰格线() { 对于(int i=0;ivoid battleshipgrid::print()?哇,谢谢你们,我好尴尬。@DoomMuffins bool battleshipgrid::hit(position pos) { return o.hit(pos); } bool battleshipgrid::miss(position pos) { return !o.hit(pos); } bool battleshipgrid::empty(position pos) { return ('o'==waters[pos.getcol()][pos.rowindex()]); } void battleshipgrid::print (),c++,visual-studio,C++,Visual Studio,waters显然是级战舰网格的一员 在该函数中,不是战列舰网格的一部分,您尝试访问成员变量waters #include <iostream> #include <string> #include <sstream> #include <ostream> #include "battleshipgrid.h" using namespace std; battleshipgrid::battleshipgrid () { for (int

waters
显然是
级战舰网格的一员

在该函数中,不是战列舰网格的一部分,您尝试访问成员变量
waters

#include <iostream>
#include <string>
#include <sstream>
#include <ostream>
#include "battleshipgrid.h"
using namespace std;

battleshipgrid::battleshipgrid ()
{
    for (int i=0;i < 10;i++)
    {
        for (int j =0; j<10;j++)
        {
            waters[i][j]='o';
        }

    }
}


void battleshipgrid::shotat (position pos, bool hit, char initial)
{
    if (hit)
    {
        waters[pos.getcol()][pos.rowindex()]=initial;
    }
    if (!hit)
    {
        waters[pos.getcol()][pos.rowindex()]='x';
    }
}

bool battleshipgrid::hit(position pos)
{
    if (o.hit(pos))
    {
        return true;
    }
    else
    {
        return false;
    }
}

bool battleshipgrid::miss(position pos)
{
    if (!o.hit(pos))
    {
        return true;
    }
    else
    {
        return false;
    }
}

bool battleshipgrid::empty(position pos)
{
    if (waters[pos.getcol()][pos.rowindex()]=='o')
    {
        return true;
    }
    else
    {
        return false;
    }

}

char battleshipgrid::boatinitial(position pos)
{
    return waters[pos.getcol()][pos.rowindex()];
}

void print ()
{
    for (int i=0; i <10;i++)
    {
        std::cout<<"\n";
        for (int j=0;j<10;j++)
        {
            cout<<waters[i][j]<<" ";
        }
    }

似乎
waters
battleshipgrid
类的成员变量。另一方面,
print()
与该类无关

你是不是想实施

bool battleshipgrid::hit(position pos)   { return o.hit(pos);  }
bool battleshipgrid::miss(position pos)  { return !o.hit(pos); }
bool battleshipgrid::empty(position pos) { return ('o'==waters[pos.getcol()][pos.rowindex()]); }

print
是一个成员函数吗?如果是的话,像其他函数一样添加范围说明符
battleshipgrid::
void print()
->
void battleshipgrid::print()
?哇,谢谢你们,我好尴尬。@DoomMuffins
bool battleshipgrid::hit(position pos)   { return o.hit(pos);  }
bool battleshipgrid::miss(position pos)  { return !o.hit(pos); }
bool battleshipgrid::empty(position pos) { return ('o'==waters[pos.getcol()][pos.rowindex()]); }
void battleshipgrid::print ()