C ++静态成员函数错误C2556重载函数的区别仅在于返回类型

时间:2013-09-19 07:33:18

标签: c++ static

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

// Inversions.h

#ifndef INV_H
#define INV_H

#include <string>
#include <vector>

class CountInv
{
    static void count();
}

#endif

// Inversions.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,还是一些静态数据成员从这个函数返回?但这不应该是问题..

3 个答案:

答案 0 :(得分:6)

不要忘记课程定义后的结束分号;。我认为这会造成模糊的编译错误。

答案 1 :(得分:1)

; 添加到课程定义的末尾,一切都很顺利!

答案 2 :(得分:-1)

我在我的本地视觉工作室尝试了这个,并在课程定义解决问题后在Inversions.h中添加分号。

由于 Niraj Rathi