我在这行“b = true”上说错了。现在我为什么会收到此错误?我不是指向TurnMeOn,因此说TurnMeOn = true?
class B{
void turnOn(bool *b){b = true}
};
int main(){
B *b = new B();
bool turnMeOn = false;
b->turnOn(&turnMeOn);
cout << "b = " << turnMeOn << endl;
}
答案 0 :(得分:8)
b->turnOn(&turnMeOn);
和
*b = true;
答案 1 :(得分:5)
turnOn
需要指向bool的指针作为参数。您将其用作实际bool
。我想你正在寻找一个参考,即bool& b
作为方法中的参数声明。
答案 2 :(得分:4)
没有。正如你所写,它需要*b = true
。
或者,您可以编写函数将引用带到bool,以便
void turnOn(bool &b) { b = true; }
是正确的。