未定义对“GradeBook::GradeBook(std::string)”的引用
undefined reference to `GradeBook::GradeBook(std::string)
我是C++的新手,我目前正在通过C++如何编程8e一书来学习它。在将接口与实现分离一节中,他们给出了一个这样的示例
成绩簿.h
#include <string>
using namespace std;
class GradeBook
{
public:
GradeBook( string );
void setCourseName( string );
string getCourseName();
void displayMessage();
private:
string courseName;
};
成绩簿.cpp
#include <iostream>
#include "GradeBook.h"
using namespace std;
GradeBook::GradeBook( string name )
{
setCourseName( name );
}
void GradeBook::setCourseName( string name )
{
courseName = name;
}
string GradeBook::getCourseName()
{
return courseName;
}
void GradeBook::displayMessage()
{
cout << "welcome to the grade book forn" << getCourseName()
<< "!" << endl;
}
主.cpp
#include <iostream>
#include "GradeBook.h"
using namespace std;
int main()
{
GradeBook gradeBook1( "CS101 Introduction to C++ Programming" );
GradeBook gradeBook2( "CS102 Data Structures in C++" );
cout << "gradeBook1 created for: " << gradeBook1.getCourseName()
<< "ngradeBook2 created for: " << gradeBook2.getCourseName()
<< endl;
}
当我使用 CodeBlocks 执行此操作时,出现以下信息的错误
D:C++SIFImain.o:main.cpp|| undefined reference to `GradeBook::GradeBook(std::string)'|
D:C++SIFImain.o:main.cpp|| undefined reference to `GradeBook::GradeBook(std::string)'|
D:C++SIFImain.o:main.cpp|| undefined reference to `GradeBook::getCourseName()'|
D:C++SIFImain.o:main.cpp|| undefined reference to `GradeBook::getCourseName()'|
||=== Build failed: 4 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
我绝对是新手,请帮忙。
对于那些使用普通的GNU Fortran编译器而不是某些IDE(如CodeBlocks)的人来说,这将是命令行:
g++ main.cpp GradeBook.cpp -o main.x
一些代码::块错误...有时,您的 cpp 文件不会添加到您的项目中,您必须自己将其添加到您的项目中。(类似于"文件>>现有文件添加文件"?
如果您使用的是代码块,则必须先创建一个项目。创建项目后,只需从上面的选项卡中打开项目列,然后单击添加文件。然后在其中添加所有主文件、.h .cpp文件。现在编译它并完成!
相关文章:
- 将对象数组的引用传递给函数
- 什么时候在C++中返回常量引用是个好主意
- 我想将一个对T类型的非常量左值引用绑定到一个T类型的临时值
- 何时在引用或唯一指针上使用移动语义
- 如何在c++中使用引用实现类似python的行为
- 编译C++时未定义的引用
- Ctypes wstring通过引用传递
- c++r值引用应用于函数指针
- 理解c++中的引用
- C++取消引用指针.为什么会发生变化
- 如何修复此错误:未定义对"距离(浮点数,浮点数,浮点数,浮点数,浮点数)"的引用
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- C++Boost Asio Pool线程,带有lambda函数和传递引用变量
- 强制转换为引用类型
- 引用一个已擦除类型(void*)的指针
- 向量元素的引用地址与它所指向的向量元素的地址不同.为什么
- 具有默认值的引用获取函数
- 如何使用基类指针引用派生类成员
- 使用取消引用的指针的多态性会产生意外的结果.为什么?
- 未定义对“GradeBook::GradeBook(std::string)”的引用