gpt4 book ai didi

c++ - 将 const char* 传递给方法,但得到 char const * 错误

转载 作者:行者123 更新时间:2023-11-28 08:18:07 25 4
gpt4 key购买 nike

我在我的 C++ 代码中遇到了连线问题。我正在使用 TCLAP 软件来接受命令行参数,其中一个标志是文件名:

TCLAP::ValueArg<string> Poly ("p", "poly",  "file name of the polynomial", false, "", "string");

我还有另一个接受3个参数的函数,

void GetBiPoly(const char *filename, BiPoly<BigFloat> *u, BiPoly<BigFloat> *v);

我以这种方式将 Poly 字符串传递给函数 GetBiPoly:

benchmark::GetBiPoly(Poly.getValue().c_str(), &fxy, &gxy);

当我编译程序时,出现以下错误:

miranda.cpp:(.text+0x1900): undefined reference to `benchmark::GetBiPoly(char const*, CORE::BiPoly<CORE::BigFloat>*, CORE::BiPoly<CORE::BigFloat>*)'

似乎唯一的区别是错误信息中文件名的类型是char const*,而定义是const char*。谁能告诉我这似乎是什么问题?谢谢。

最佳答案

char const *const char * 是一回事。您的问题与消息的那部分无关。您的错误是您正在调用函数 benchmark::GetBiPoly(),但链接器无法在您链接的对象中找到它。该功能在哪里定义?你在链接它吗?它在那个命名空间中吗?

关于c++ - 将 const char* 传递给方法,但得到 char const * 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6962970/

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