使用Sun Studio 12移植到Solaris SPARC

时间:2009-07-16 02:52:30

标签: c++

我正在尝试使用以下代码编译目标文件。

//--Begin test.cpp
class A;

void (A::* f_ptr) ();

void test() {
    A *a;
    (a->*f_ptr)();
}
//-- End test.cpp

对于GNU g ++编译器,它能够编译目标文件。

$ g++ -c test.cpp

但对于Solaris 10(SPARC)上的Sun Studio 12,它会输出错误。

$ CC -c test.cpp

  

“test.cpp”,第7行:错误:在定义A类之前无法通过指向成员函数的指针调用。

     

检测到1个错误。

是否有编译器标志来构建Sun Studio C ++编译器 对象文件?还有另一种解决方法吗?

2 个答案:

答案 0 :(得分:2)

尝试在该文件中#include <A.h>。编译器需要知道class A的样子。

答案 1 :(得分:0)

你会发现很多东西都是g ++让你逃避sunpro会抱怨的,反之亦然。

为很多这类事做好准备。

GMan的回答对我来说是正确的。