gpt4 book ai didi

c++ - 使用 g++4.5.2 编译时对类的引用不明确

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:58:47 24 4
gpt4 key购买 nike

我在这里需要一些帮助:当使用 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;”在上面显示的类(class)主体中。但是我不明白为什么上面的代码不起作用,因为唯一的变化是编译器版本。

最佳答案

尝试使用显式调用:

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

今日类(class):及时了解编译器的变化并使用最新的稳定版。否则,你最终会写出不正确的旧代码;并遇到编译器的其他副作用。

关于c++ - 使用 g++4.5.2 编译时对类的引用不明确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13408724/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com