类错误,标识符未定义

时间:2015-04-13 02:41:27

标签: c++

在我的头文件游戏中我有:

char *currletters; //the random set of letters

在我的.cpp文件中我有:

char Game::*getLetters(int x)
{
        char alp[26] = { 'a', 'b', 'c', 'd', 'e', 'f', 'g',
                         'h', 'i', 'j', 'k', 'l', 'm', 'n', 
                          'o', 'p', 'q','r', 's', 't', 'u', 
                          'v', 'w', 'x', 'y', 'z'
                        };
        srand(time(NULL));
        int temp = rand() % 25 + 1;
        for (int i = 0; i < x; i++)
        {
            *currletters = alp[temp];
        }
           return *currletters;
}

我收到错误,*currletters = alp[temp];说标识符“currletters”未定义。我想知道问题是什么,我也包含了头文件。

1 个答案:

答案 0 :(得分:0)

改变这个:

char Game::*getLetters(int x)

到此:

char* Game::getLetters(int x)

您的类函数定义中存在语法错误,因此编译器认为您超出了类的范围,并且无法使用该变量。

添加了return语句,但返回了错误的类型。 currletters类型为char*,从名为char的函数返回单个getletters会产生误导。

建议返回currletters而不是*currletters