C++ 静态成员函数错误 C2556 重载函数仅因返回类型而异

C++ Static member function error C2556 overloaded function differs only by return type

本文关键字:函数 返回类型 重载 静态成员 错误 C2556 C++      更新时间:2023-10-16

我想在我的类 CountInv 中编写一个静态成员函数,它应该只有这个静态函数而没有其他成员

反转.h

#ifndef INV_H
#define INV_H
#include <string>
#include <vector>
class CountInv
{
    static void count();
}
#endif

反转.cpp

#include "Inversions.h"
void CountInv::count() {    return; };

我收到以下编译器错误:

 Error  3   error C2556: 'CountInv CountInv::count(void)' : 
overloaded function differs only by return type 
from 'void CountInv::count(void)'   d:...inversions.cpp   4

怎么了?我没有在任何地方声明或定义"CountInv CountInv::count(void)"!我应该编写类 c-tors,..,d-tors,还是一些静态数据成员来从这个函数返回?但这不应该是问题。

不要忘记类定义后面的右分号;。我认为这导致了晦涩的编译错误。

添加;在类定义的末尾,一切都很好!

我在本地视觉工作室上尝试过这个,并在类定义解决问题后在 Inversion.h 中添加 semicoln。

谢谢尼拉吉·拉蒂