从具有 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 中的设置(编译器设置)?