【发布时间】:2010-02-19 13:57:32
【问题描述】:
当我从带有 glibc-2.5-25 (suse 10.2) 的计算机移植到带有 glibc-2.3.2-6 (suse 8.2) 的计算机时,我的代码出现了一个奇怪的问题。我对临时对象使用了几个方法调用,但它们在旧机器上不起作用。
class A
{
public:
A(int n) {}
void method() {}
};
int main()
{
A(10).method(); //here the compiler gives parse error before .
A a(10);
a.method(); //this works fine
}
这真的会因为旧的 libc 版本而发生吗?或者它可能是我的 IDE 中的一个设置(编译器设置)?
【问题讨论】:
-
glibc 是一个库 - 这是一个编译问题。
-
你使用的是什么编译器版本?
-
是的,你是对的,gcc版本如下:新平台上的gcc-4.1.3-29旧平台上的gcc-3.3-23(有问题)
标签: c++ linux methods temporary-objects