我刚刚创建了这个简单的类。当我编译时,我得到以下错误。
caller.o: In function 'main':
caller.cpp:(.text+0x15): undefined reference to 'Reader::Reader(int)'
collect2: ld returned 1 exit status
Reader.h
#ifndef READER_H
#define READER_H
class Reader
{
private:
int m_month;
Reader() {}
public:
Reader(int month);
void SetDate(int month);
int GetMonth() {return m_month;}
};
#endif
Reader.cpp
#include "Reader.h"
Reader::Reader(int month);
{
SetDate(month);
}
void Reader::SetDate(int month)
{
m_month=month;
}
主程序
#include <iostream>
using namespace std;
#include "Reader.h"
int main()
{ int i;
i=5;
Reader rd(i);
i=rd.GetMonth();
cout<<i;
return 0;
}
2条答案
按热度按时间ukxgm1gy1#
有一个不应该出现的
;
分号。e5nqia272#
您需要将所有源文件编译为目标文件,然后将目标文件链接在一起以生成程序。
这可以在一个步骤中完成:
或者在两个单独的步骤中:
当然,你通常应该有一个IDE,Makefile或构建系统生成器(如CMake)来为你处理这个问题。