我是C ++的新手,而且我一直在努力解决这个问题。我把它复制成一本书,我正在使用代码块和我的IDE,但我不明白为什么这不起作用。我四处寻找答案,有人说
未定义的引用错误,通常是因为.o文件(其中 从.cpp文件中创建)不存在
但是当我检查文件时它就在那里。如果有人可以提供帮助,将不胜感激。我还认为问题的一部分可能与二进制范围解析运算符有关。这是我的代码:
**gradebook.h**
#include <string>
using namespace std;
class gradebook
{
public:
gradebook ( string );
void setcourseName( string );
string getcourseName();
void displayMessage();
private:
string courseName;
};//end gradebook.h
**gradebook.cpp**
#include <iostream>
#include "gradebook.h"
using namespace std;
gradebook::gradebook(string name){
setcourseName(name);
}
void gradebook::setcourseName(string name){
courseName = name;
}
string gradebook::getcouseName(){
return courseName;
}
void gradebook::displayMessage(){
cout<<"welcome to the grade book for\n" << getcourseName()<<"!"<<endl;
}//end gradebook.cpp
**main.cpp**
#include <iostream>
#include "gradebook.h"
using namespace std;
int main()
{
gradebook gradebook1("CS101 introduction to c++ programing");
gradebook gradebook2("CS102 data structures in c++");
cout<< "gradebook1 created for course:" << gradebook1.getcourseName()
<< "\n gradebook2 created for course:" <<gradebook2.getcourseName()
<< endl;
}//end main.cpp
我不断回复的错误是main.cpp undefined reference to gradebook::getcourseName()
和main.cpp undefined reference to gradebook::gradebook(std::string)
。
导致错误的原因是什么?
答案 0 :(得分:0)
string gradebook::getcouseName(){
这里有函数名称的错字。