我的功能似乎不适用于C ++

时间:2018-04-17 06:16:06

标签: c++ function visual-c++ methods

这是我做的功能:

void loading(bool wsound) {

if (wsound = true)
{

    PlaySound(TEXT("sounds/intro.wav"), NULL, SND_ASYNC);
    cout << "..........";
    Sleep(1000);
    cout << "..........";
    Sleep(1000);
    cout << "..........";
    Sleep(1000);
    cout << "..........";
    Sleep(1000);
    cout << "..........";
    Sleep(1000);
    cout << ".........." << endl;
    Sleep(1000);

}
else if (wsound = false)
{
    cout << "..........";
    Sleep(1000);
    cout << "..........";
    Sleep(1000);
    cout << ".........." << endl;

}
else {

    cout << "An error occured" << endl;


    cin.get();
        system("exit");

    }
}

所以这基本上做的是,如果值为true则需要bool然后如果为false则加载声音然后加载它而没有声音。

我的问题是,在主要我放置了一个值为true的bool,然后它再次调用它后,值类型为false,它仍然用声音加载它。

代码是这样的:

//a bunch of code here 
loading(true);
//a bunch of code here
loading(false);
//and more codes.........

1 个答案:

答案 0 :(得分:3)

这不是支票,这是一项作业:wsound = true

您应该使用wsound == true之类的内容,但在if语句中,仅使用if (wsound)就足够了,if (wsound == true)等于false。对于if(!wsound)检查,您可以使用:if(wsound = true)

编辑:要了解会发生什么: operator=()是一个正确的语句,因为在此if语句中使用的赋值{{1}}在大多数情况下应该返回对该变量的非成本引用,该变量已经解释为here