C++ 为什么可以';我不能在这个成员函数中设置这个成员变量吗?

C++ 为什么可以';我不能在这个成员函数中设置这个成员变量吗?,c++,function,class,variables,output,C++,Function,Class,Variables,Output,所以在这个函数中,它没有将breakout设置为6。当它打印出来的时候,我得到了一个“突破”,后面没有数字 void tokens::driver() { //comment(getInput()); // std::cout<< "driver working"<<std::endl; breakout=6; std::cout<< "breakout"<<breakout<< std::endl; intege

所以在这个函数中,它没有将breakout设置为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;
}

上述语句将
6
的ascii值指定给不可打印的
breakout

最初
breakout
设置为6,作为字符编码值,它是不可打印的ascii字符

char
值6传递到
cout
的一个可能效果是不显示任何内容。将其作为整数传递的一个很好的小技巧是使用前缀
+
运算符,如下所示:
+breakout
。然后您应该看到值6

integerConstant
中,单个参数按值传递。这将复制实际参数。对副本所做的更改不会反映在实际参数中


如果您打算将
breakout
作为字符“6”,则应将其指定为普通撇号,如下所示:

breakout = '6';
字符“6”的ASCII值为48+6=54,因此除了一些旧的IBM大型机(使用EBCDIC而不是ASCII)外,上述赋值相当于

breakout = 54;

但是写
'6'
比写
54

更清楚,请提供。因为
6!='6'
@user657267,这有什么关系?OP正在使用
cout
@BatCoder<代码>operator@BatCoder可能是因为值为
6
char
是不可打印字符(
ACK
),而
'6'
的值为
54
。(考虑ASCII字符时)
breakout = '6';
breakout = 54;