使用g ++ 4.5.2进行编译时,对类的引用是不明确的

时间:2012-11-16 00:38:02

标签: c++ compiler-errors g++ systemc

我需要一些帮助:当使用g ++ 4.1构建我的代码时,没有关于“对类的引用含糊不清”的错误。只有在使用g ++ 4.5.2编译相同的代码时才会发生这种情况,这里是代码片段:

#include "tlm_utils/simple_initiator_socket.h"

using tlm_utils::simple_initiator_socket;

class HvEcu : public sc_module {
public:
           ......
    simple_initiator_socket<HvEcu> initiator_socket;
//object instantiated here, also problem happend here....
            ......
};

我真的不确定为什么会发生这种情况,因为命名空间的语法肯定是有效的。 有一个修复来摆脱该消息,而不是“使用tlm_utils :: simple_initiator_socket;”只需输入“tlm_utils :: simple_initiator_socket initiator_socket;”在上面所示的类中。但是我不明白为什么上面的代码不起作用,因为唯一的变化是编译器版本。

1 个答案:

答案 0 :(得分:0)

尝试使用显式调用:

class HvEcu : public sc_module {
    tlm_utils::simple_initiator_socket<HvEcu> initiator_socket;

每日课程:及时了解编译器更改并使用最新的稳定版本。否则,你最终会写出错误的旧代码;并遇到编译器的其他副作用。