main.cpp
:int main() {
std::cout << "main()" << std::endl;
Game gameState();
std::cout << "main() 2" << std::endl;
return 0;
}
game.cpp
:Game::Game() {
std::cout << "game()" << std::endl;
}
运行上面的代码时,我希望看到显示了“ main()”,“ game()”和“ main()2”。但是,“ game()”从不打印,因为构造函数从不运行。但是,当Game gameState();
更改为Game gameState;
时,将按预期方式调用构造函数。
为什么用括号调用该类的唯一构造函数,尽管它是无参数构造函数,却为什么不运行?