C++ c+中有趣的语法错误+;使用动态分配数组的函数

C++ c+中有趣的语法错误+;使用动态分配数组的函数,c++,C++,我正在使用基本的Windows控制台在屏幕上进行游戏 不幸的是,我得到了这个错误 1>d:\users\chris\documents\programs\testing\roguelike mkii\roguelike mkii\screen.h(49): error C2143: syntax error : missing ';' before '[' 1>d:\users\chris\documents\programs\testing\roguelike mkii\rogue

我正在使用基本的Windows控制台在屏幕上进行游戏

不幸的是,我得到了这个错误

1>d:\users\chris\documents\programs\testing\roguelike mkii\roguelike mkii\screen.h(49): error C2143: syntax error : missing ';' before '['
1>d:\users\chris\documents\programs\testing\roguelike mkii\roguelike mkii\screen.h(49): error C2337: 'pPoint' : attribute not found
1>d:\users\chris\documents\programs\testing\roguelike mkii\roguelike mkii\screen.h(49): error C2143: syntax error : missing ']' before '.'
1>d:\users\chris\documents\programs\testing\roguelike mkii\roguelike mkii\screen.h(49): error C2143: syntax error : missing ';' before '.'
我似乎无法摆脱它

另外,在setChar()函数中,pPoint.nX表示它必须是常量,我无法理解

struct pointOnScreen
{
    char character;
    int colour;
};
class Screen
{
private:
    const int xLength;
    const int yLength;


    pointOnScreen** screen;


public:
    Screen() : xLength(80), yLength(24)
    {

        screen = new pointOnScreen*[xLength];
        for(int ix = 0; ix < xLength; ix++)
        {
            screen[ix] = new pointOnScreen[yLength];
            for(int iy = 0; iy < yLength; iy++)
            {
                screen[ix][iy].character  = ' ';
                screen[ix][iy].colour = 0;
            }
        }
    }

    ~Screen()
    {
        for(int i = 0; i < xLength; i++)
        {
            delete[] screen[i];
        }
        delete[] screen;
    }

    void setChar(char toSet, point pPoint)
    {
        pointOnScreen[pPoint.nX][pPoint.nY] = toSet;
    }



};
屏幕上的结构点 { 字符; 内部色彩; }; 类屏幕 { 私人: 常数int xLength; 常数长度; 屏幕上的点**屏幕; 公众: 屏幕():X长度(80),Y长度(24) { 屏幕=屏幕上的新点*[xLength]; 对于(int-ix=0;ix 非常感谢您的帮助

屏幕上的
是一种类型,而不是
变量

我猜你的意思是:

screen[pPoint.nX][pPoint.nY] = toSet;
屏幕上的
是一种类型,而不是
变量

我猜你的意思是:

screen[pPoint.nX][pPoint.nY] = toSet;
屏幕上的
是一种类型,而不是
变量

我猜你的意思是:

screen[pPoint.nX][pPoint.nY] = toSet;
屏幕上的
是一种类型,而不是
变量

我猜你的意思是:

screen[pPoint.nX][pPoint.nY] = toSet;

使用向量向量或专用矩阵。你们班表现不好。这将使它正常运行,并让您摆脱析构函数进行引导。感谢您,这只是我使用结构而不是变量使用向量向量或专用矩阵。你们班表现不好。这将使它正常运行,并让您摆脱析构函数进行引导。感谢您,这只是我使用结构而不是变量使用向量向量或专用矩阵。你们班表现不好。这将使它正常运行,并让您摆脱析构函数进行引导。感谢您,这只是我使用结构而不是变量使用向量向量或专用矩阵。你们班表现不好。这将使它正常工作,并让您摆脱析构函数进行引导。谢谢,这是因为我只使用了struct而不是变量