【发布时间】:2016-05-28 03:36:47
【问题描述】:
所以在这个函数中,它没有将突破设置为 6。当它打印时,我得到“突破”,后面没有数字。
void tokens::driver()
{
//comment(getInput());
// std::cout<< "driver working"<<std::endl;
breakout=6;
std::cout<< "breakout"<<breakout<< std::endl;
integerConstant(breakout);
//symbol(getInput());
std::cout<< "breakout"<<breakout<< std::endl;
}
我的h文件是这样的:
class tokens
{
public:
void driver();
char breakout;
private:
char getInput();
char integerConstant(char input);
char symbol(char input);
char whatWord(char input);
char comment(char input);
bool symbolMap(char input);
bool keywordMap(std::string input);
};
【问题讨论】:
-
因为
6 != '6' -
@user657267,这有什么关系? OP 正在使用
cout。 -
@BatCoder ...
operator<<对 characters 有重载。 -
@BatCoder 可能是因为
char的值为6是不可打印字符(ACK),而'6'的值为54。 (考虑 ASCII 字符时)
标签: c++ function class variables output