【发布时间】:2012-05-14 15:16:15
【问题描述】:
我打算使用变量初始化或创建一个新对象。 该错误表明我声明冲突。
//instantiate new node object***********************
string peer = "peer";
string pNo = convertInt(addPeerNum); //convert peer number to string to concatenate 2 strings
string NewPeerObject = peer+pNo; << ERROR POINTS TO HERE
nodes NewPeerObject; << ERROR POINTS TO HERE
错误信息:
冲突声明'nodes NewPeerObject'
我的主要观点是当我添加更多对等点时创建一个新对象。 如果我添加peer 1,它将创建一个新对象“peer1” 如果我添加peer 2,它将是'peer2'等。
我正在阅读包含的文件
addpeer 1
addpeer 100
addpeer 28
在我的程序中,它读取文件并将数字存储在名为“addPeerNum”的变量中 而我这样做,它实际上有一个不同的字符串内容'NewPeerObject'。
所以在这种情况下,我实际上是在尝试创建 3 个新对象。
有什么方法可以做到吗?
【问题讨论】:
-
您是否尝试使用动态名称创建变量?如果是这样,这是不可能的,变量被赋予一个仅在编译期间使用的静态名称。也许您需要一个关联容器(例如
map)来将名称与对象关联起来?std::map<std::string, Node>之类的东西?
标签: c++ object initialization