下面的程序编译(使用gcc),但它应该吗?我会认为下面创建的V1(1.0)是一个常量,所以不能在其上调用非const方法。为什么可以在一个常量结构上调用一个非const成员函数?
class V{
double v;
public:
V(double v1){ v = v1;}
void clear(){ v = 0;}
};
int main(){
V(1.0).clear();
}
比较这对一个函数“空隙F(INT &吨){}”,这不能被称为为“f(1)”,因为图1是一个常数,其不能成为一个非const的值参考t。
临时!=常数(如你所发现的) – valdo 2012-04-24 11:41:51
这里应该是一个常量结构? – leftaroundabout 2012-04-24 11:41:52
我不清楚如何有什么东西可以是'const'。关键字不会出现在您的代码中的任何位置。此外,成员初始化语法。 – chris 2012-04-24 11:41:53