在我的头文件游戏中我有:
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”未定义。我想知道问题是什么,我也包含了头文件。
答案 0 :(得分:0)
改变这个:
char Game::*getLetters(int x)
到此:
char* Game::getLetters(int x)
您的类函数定义中存在语法错误,因此编译器认为您超出了类的范围,并且无法使用该变量。
添加了return语句,但返回了错误的类型。 currletters
类型为char*
,从名为char
的函数返回单个getletters
会产生误导。
建议返回currletters
而不是*currletters