【发布时间】:2014-10-17 12:51:56
【问题描述】:
您好,我刚刚创建了一个示例类并在 main 中使用它,但我遇到了已经定义的错误。
sample.h
#ifndef __sample__
#define __sample__
#include<iostream>
using namespace std;
int count = 10;
class sample
{
public:
sample();
int Get();
private:
int i;
};
#endif
sample.cpp
#include "sample.h"
sample::sample()
{
cout<<"hello two";
}
int sample::sample()
{
return 10;
}
main.cpp
#include <iostream>
#include "sample.h"
using namespace std;
int main(void)
{
int test = count;
return 0;
}
链接错误: main.obj : 错误 LNK2005: "int count" (?count@@3HA) 已在 sample.obj 中定义
如果您看到上面的类,我正在使用#ifndef 和#define,实际上,一旦我们认为我们在很多地方都包含数据,就会声明数据。有人可以清楚地解释为什么它会给出该链接错误。
【问题讨论】:
-
我相信你的意思是
int sample::Get() -
__sample__是保留标识符。 -
有多个问题需要解决,不仅仅是定义问题。 @T.C.那条编辑消息让我笑了
标签: c++ visual-c++