可能重复:
如何在 C++ 中禁止临时对象
有时我打算写一些类似的东西
{
MyClass anInstance( param );
// other code...
}
但实际上写了
{
MyClass( param );
// other code...
}
结果,析构函数在析构函数之后立即被调用,而不是在作用域的末尾。有没有办法编写类来使这个错误产生编译错误?如果做不到这一点,也许我可以打开一个可选警告?(我在 Mac OS X 上使用 Clang。)