Я столкнулся с проводной проблемой в моем коде 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*
. Кто-нибудь может сказать мне, в чем проблема, кажется? Спасибо.