私のC++コードに有線の問題が発生しました。私は、コマンドライン引数を受け入れるようにTCLAPソフトウェアを使用しています、とフラグの一つは、ファイル名です:はconst char *をメソッドに渡しましたが、代わりにchar const *エラーを受け取りました
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);
私が渡していますこのように機能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*
であることです。誰も私が問題と思われるものを教えてもらえますか?ありがとう。
2つの形式は同等です。問題は、実装にリンクしていないか、別の名前空間にあることです。 – pyroscope