C++ 将字符串传递到ns3::Ipv4AddressHelper::SetBase方法

C++ 将字符串传递到ns3::Ipv4AddressHelper::SetBase方法,c++,network-programming,modeling,ns-3,C++,Network Programming,Modeling,Ns 3,拓扑帮助器Ipv4AddressHelper允许设置基址,如示例所示 Ipv4AddressHelper address; address.SetBase ("10.1.1.0", "255.255.255.0"); 例如,我希望存储任意数量的动态创建的地址 ... for( uint32_t subnetC = 0; subnetC < nSubnets; subnetC++ ) { string ip = "10.1." + lexical_cast&l

拓扑帮助器
Ipv4AddressHelper
允许设置基址,如示例所示

Ipv4AddressHelper address;
address.SetBase ("10.1.1.0", "255.255.255.0");
例如,我希望存储任意数量的动态创建的地址

  ...
  for( uint32_t subnetC = 0; subnetC < nSubnets; subnetC++ )
  {    
     string ip = "10.1." + lexical_cast< string >( subnetC + 1 ) +".0";
     ipList.push_back( ip );
  }
  ...
  vIpv4AddressHelper[ someIndex ].SetBase(ipList[ someIndex ], "255.255.255.0" );
  ...
。。。
对于(uint32_t subnetC=0;subnetC(subnetC+1)+“.0”;
ipList。推回(ip);
}
...
vIpv4AddressHelper[someIndex].SetBase(ipList[someIndex],“255.255.255.0”);
...
然而,我得到了错误

 error: no matching function for call to ‘ns3::Ipv4AddressHelper::SetBase(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const char [14])’
 note: candidates are: void ns3::Ipv4AddressHelper::SetBase(ns3::Ipv4Address, ns3::Ipv4Mask, ns3::Ipv4Address)
错误:调用“ns3::Ipv4AddressHelper::SetBase(std::basic_string&,const char[14])时没有匹配的函数
注:候选项为:void ns3::Ipv4AddressHelper::SetBase(ns3::Ipv4Address,ns3::Ipv4Mask,ns3::Ipv4Address)

如何将字符串传递给
SetBase

编译器告诉您候选对象需要2个参数(第三个参数是可选的。另外,请参阅)。所以,把那些情人传过去。 在中可以看到,
ipv4address
可以使用
char const*
构造。因此,请尝试:

address.SetBase (ns3::Ipv4Adress(adress_string.c_str()), ns3::Ipv4Mask(mask_string.c_str()));

根据需要更改
address\u string
mask\u string

编译器告诉您候选人需要两个参数(第三个参数是可选的。另外,请参阅)。所以,把那些情人传过去。 在中可以看到,
ipv4address
可以使用
char const*
构造。因此,请尝试:

address.SetBase (ns3::Ipv4Adress(adress_string.c_str()), ns3::Ipv4Mask(mask_string.c_str()));

根据您的需要更改
address\u string
mask\u string

不客气!谢谢你的更正,我马上换帖子!不客气!谢谢你的更正,我马上换帖子!