作者macrobase (马克罗贝斯小径)
看板EE_DSnP
标题[问题] Multiple Definition
时间Sun Jan 18 20:57:07 2009
这是我的.h(未完成):
#ifndef HEADERS_H
#define HEADERS_H
#include <cstdlib>
#include <iostream>
#include <iomanip>
#include <ctime>
#include <fstream>
#include <string>
#include <conio.h>
#define DELAY 20000
using namespace std;
void time_output();
class Input
{
public:
static int _count;
static void SetCount() { _count++; }
char GetInputArticle(int i){return _InputArticle[i];}
string GetFile();
private:
string _InputArticle;
};
#endif
GetFile.cpp:
#include "headers.h"
string Input::GetFile(){
ifstream ifs ("test.txt",ios::in);
if(!"test.txt"){
cerr<<"No file:\"text.txt\""<<endl;
system ("pause");
}
_InputArticle="";
ifs>>_InputArticle;
return _InputArticle;
}
可是compile会跑出这个讯息两次
multiple definition of `Input::GetFile()'
first defined here
我google了一下,说只要不把function的内容写在.h档里就可以解决
可是我另外开一个GetFile.cpp後,反而多出一次一样的错误讯息
有谁知道怎麽解决吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.68.74.226
1F:→ macrobase:这真是太神奇了,我把程式码贴到另一份新的档案就好了 01/18 21:18
2F:推 ric2k1:这... 不知道 DevC++ 如何 make clean... 01/18 22:02
3F:推 MrOrz:好像只有「重新编译全部档案」这个按钮的功能比较接近XD 01/19 03:00
4F:推 stimim:是的,其他的都只会编译有修改的档案(cpp)而已 01/19 08:53
5F:推 wintercobra:make clean 是什麽? 01/19 11:07
6F:推 ric2k1:就是三楼说的意思 01/19 21:16