gpt4 book ai didi

c++ - 构建 Castalia : Call of an overloaded function is ambiguous 时出错

转载 作者:行者123 更新时间:2023-11-30 03:16:58 25 4
gpt4 key购买 nike

我已经将 castalia 3.3 导入到 omnet++4.6。但是我在用 make 构建它时遇到了这个错误,所以 CastaliaBin 没有构建,我不能使用 castalia 项目。

src/wirelessChannel/traceChannel/TraceChannel.cc:35:33: 错误:调用重载的“open(cPar&)”不明确

traceFile.open(par("traceFile"));

我不是C++专家,我无法修复它

这是错误定位,然后是open()函数

ofstream & DebugInfoWriter::getStream(void)
{
if (!theFile.is_open())
theFile.open(fileName.c_str(), ios::app);
theFile.setf(ios::left);

return theFile;
}

void
open(const char* __s,
ios_base::openmode __mode = ios_base::out | ios_base::trunc)
{
if (!_M_filebuf.open(__s, __mode | ios_base::out))
this->setstate(ios_base::failbit);
else

this->clear();
}

最佳答案

这个问题的答案也存在于 Castalia 论坛(Google Group)中。

在 Ubuntu 中使用较新版本的 GCC 编译器时会出现此错误。别忘了,Castalia 3.3 已经很旧了(2013 年发布)。一个简单的转换就解决了这个问题。

traceFile.open((const char *)par("traceFile"));

但您不需要更改代码。相反,只需从 Castalia Github 存储库获取最新代码。它包含此修复程序以及其他次要修复程序。

始终使用 Castalia Github repository 中的最新版本.

关于c++ - 构建 Castalia : Call of an overloaded function is ambiguous 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55879408/

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