使用指针数组时出现"Undefined reference"错误
"Undefined reference" error when using an array of pointers
我有使用指针的指针作为指针数组的说明,这就是我所拥有的:
className **wordArray;
wordArray = new className*[wordCount];
ifstream fileInput;
fileInput.open(fileDir);
while (fileInput >> wordInput)
{
wordArray[countNumber] = new className(wordInput.c_str());
countNumber++;
}
class className
{
public:
className(const char *word);
~className();
};
className::className(const char *word)
{
char wordArray[strlen(word)];
strcpy(wordArray, *word);
}
我的问题在编译或尝试编译时出现。它说对类有一个"未定义的引用"。该类的构造函数应该采用const char*
,我已经尝试了其他一些事情无济于事。
未定义的引用意味着某些函数或变量已声明但未实现。在这种情况下,您需要提供构造函数的实现,例如:
className::className(const char *word)
{
// do something here...
}
析构函数也是如此。
您收到Undefined reference
错误,因为缺少className
构造函数和析构函数的实现。两者都可以为空,但必须以内联方式存在,或作为单独的函数存在。
内嵌:
class className {
public:
className(const char *word) {}
~className() {}
};
独立功能:
class className {
public:
className(const char *word);
~className();
};
className::className(const char *word) {}
className::~className() {}
对我来说,这个最小的工作示例编译:
#include <string>
class className {
public:
className(const char *word) {}
~className() {}
};
int main(int argc, char** argv) {
className **wordArray;
std::string wordInput = "test";
int wordCount = 0;
wordArray = new className*[wordCount];
wordArray[0] = new className(wordInput.c_str());
}
相关文章:
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- Visual Studio Code "undefined reference to `WinMain@16'"
- 使用 MATLAB 编码器生成C++代码:编译错误"undefined reference to `rgb2gray_tbb_real64'"
- 为什么创建友元类的实例会导致"undefined reference to"错误?
- Tensorflow c++ api undefined reference to 'tflite::D efaultErrorReporter()'
- 为什么在使用 SDL2 时仍然收到'undefined reference'链接器错误?
- OpenCV undefined reference to 'cv::imread(cv::String const&, int)'
- Libcurl c++ "undefined reference to" (Windows/MinGW/g++)
- 尝试使用 extern "C" 调用 C 中的C++方法,得到"undefined reference to"对象的链接器错误
- build error : undefined reference to `yyFlexLexer::yyFlexLex
- 安卓 NDK 制造。数百"undefined reference error"
- 当我尝试进行TPC-E测试时,实用程序抱怨"undefined reference"
- 声明和定义函数静态会产生"undefined reference to function_name()"
- C++ : "undefined reference to"可能是因为CMake文件
- 包含<iostream>时"Undefined reference"错误
- CMake 'undefined reference' CERN-ROOT 的错误
- 生成错误:"cannot find target for file"和"undefined reference"
- AppData\Local\Temp\cc59LXDc.o:test1.cpp: undefined reference to 'constructNewObjectOfClass
- YAML-cpp 编译错误:"undefined reference to YAML::LoadFile"
- 添加 cpp11 插件时出现错误消息"Undefined reference to boost (...)"