我创建了这个,但我得到了链接错误,但我不知道为什么......
SysInfo.h
#include <iostream>
class SysInfo
{
public:
SysInfo();
~SysInfo();
private:
};
SysInfo.cpp
#include "SysInfo.h"
using namespace std;
SysInfo::SysInfo()
{
cout << "Object is being created" << endl;
}
SysInfo::~SysInfo()
{
cout << "Object is being deleted" << endl;
}
主要
#include <tchar.h>
#include "Sysinfo.h"
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
SysInfo inf;
getchar();
return 0;
}
消息
warning C4930: 'SysInfo inf(void)': prototyped function not called (was a variable definition intended?)
问题解决了。您看到的代码是更正后的代码。我改变了#include <SysInfo.h>
到#include "SysInfo.h"
并关闭了visual studio 2012中的预编译设置。这样就很好地给出了错误。
答案 0 :(得分:2)
答案 1 :(得分:1)
SysInfo inf();
是一个函数声明!一个名为inf
的方法,不带任何内容并返回SysInfo
。
执行此操作以声明SysInfo
的对象:SysInfo inf;
答案 2 :(得分:0)
因为你的构造函数没有任何参数,所以你应该替换:
int main()
{
SysInfo inf;
}
with bellow:
int main()
{
SysInfo inf();
}
请尝试使用不SysInfo inf
的{{1}}。