错误C2440:'=':无法从'bool'转换为'bool*'

Wil*_*iam 1 c++ pointers boolean class

我在这行"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;
}
Run Code Online (Sandbox Code Playgroud)

Pie*_*ter 5

turnOn需要一个指向bool的指针作为参数.你用它作为一个实际的bool.我想你正在寻找一个参考,即bool& b作为方法中的参数声明.