3
为什么这称为默认构造函数?
struct X { X() { std::cout << "X()\n"; } X(int) { std::cout << "X(int)\n"; } }; const int answer = 42; int main() { X(answer); } 我本来希望可以打印 X(int),因为X(answer);可以解释为从int到X或 什么也没有,因为X(answer);可以解释为变量的声明。 但是,它打印出来X(),我不知道为什么X(answer);要调用默认构造函数。 优点:要获得临时声明而不是变量声明,我需要更改什么?