为什么我会得到创建基本班的警告

Why do i get a warning for creating basic class?

本文关键字:警告 创建 为什么      更新时间:2023-10-16

我创建了这个,但是我得到了链接错误,但我不知道为什么...

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;
}

MAIN

#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中的PRE编译设置。这给出了错误的屁股。

SysInfo inf();是函数inf的声明,返回SysInfo类。

应该是SysInfo inf;

#include <SysInfo.h>也是引起关注的可能来源。有关其他信息,请参阅此信息。

SysInfo inf();是函数声明!一种名为inf的方法,该方法无需返回并返回SysInfo

这样做以声明SysInfo的对象:SysInfo inf;

因为您的构造函数没有任何参数,因此您应该替换:

int main()
{
    SysInfo inf;
}

带有波纹管:

int main()
{
    SysInfo inf();
}

因此,请尝试使用SysInfo inf,没有()