NS-3 API의 일부에서 이상한 오류가 발생합니다. 에 따라, 나는 그것이 GetAttribute(std::string)
이 const
기능이 아니라는 사실과 함께해야 할 것 같아요'std :: string GetAttribute (std :: string)'의 'this'인수로 'const link'를 전달하면 한정자가 삭제됩니다.
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 */
}
: 여기 내 오류 메시지입니다 :
error: passing ‘const ns3::TopologyReader::Link’ as ‘this’ argument of ‘std::string ns3::TopologyReader::Link::GetAttribute(std::string)’ discards qualifiers
그리고 여기에 문제를 일으키는 코드입니다 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. 나는 그것을 놓쳤다, 미안. 이것을 버그로보고 할 수 있습니다. 그것은 하나처럼 보입니다. –