我收到了NS-3 API部分的奇怪錯誤。這是我的錯誤信息:將'const Link'作爲'std :: string'的'this'參數傳遞給'GetAttribute(std :: string)'丟棄限定符
error: passing ‘const ns3::TopologyReader::Link’ as ‘this’ argument of ‘std::string ns3::TopologyReader::Link::GetAttribute(std::string)’ discards qualifiers
這裏是導致該問題的代碼:
TopologyReader::ConstLinksIterator iter;
int num = 0;
for (iter = topologyReader->LinksBegin(); iter != topologyReader->LinksEnd(); iter++, num++)
{
std::istringstream fromName(iter->GetFromNodeName());
std::istringstream toName (iter->GetToNodeName());
iter->GetToNodeName();
std::string w = "Weight";
std::string weightAttr = (iter)->GetAttribute(w); // <- error
/* snip */
}
我認爲它可能與事實GetAttribute(std::string)
不是const
函數來完成,根據documentation for TopologyReader::Link,而其他函數GetFromNodeName(void)
和GetToNodeName(void)
被聲明爲const
函數。但是,我不知道如何解決這個問題。
編輯: 函數簽名所示(從鏈接文檔):
std::string ns3::TopologyReader::Link::GetFromNodeName (void) const
std::string ns3::TopologyReader::Link::GetToNodeName (void) const
std::string ns3::TopologyReader::Link::GetAttribute (std::string name)
Ooops。我錯過了,對不起。你可能想把這個報告爲一個錯誤。它看起來像一個。 – 2012-03-02 02:13:40