公共静态成员函数无法在cpp文件中定义

时间:2017-02-16 15:23:19

标签: c++

我有一个带有公共静态成员函数的类。似乎我无法在cpp文件中定义该函数(具有非常模糊的错误),但是当我在头文件中定义函数时,我可以正常编译。怎么会这样?

cmdlineparser.h

#ifndef __CMD_LINE_PARSER_H__
#define __CMD_LINE_PARSER_H__

//#include <getopt.h>
//#include "cmdlineargs.h"

class CmdLineParser
{
private:
    //CmdLineParser() {}
    //static void printCmdLineHelp();
public:
    //static CmdLineArgs parse(int argc, char** argv);
    static int parse();

};

#endif

cmdlineparser.cpp

#include "cmdlineparser.h"

int CmdLineParser::parse()
{
     return 0;
}

的main.cpp

#include "cmdlineparser.h"

int main(int argc, char** argv)
{
    // Parse the command line arguments.
    //int cmdLineArgs = CmdLineParser::parse(argc, argv);
    int cmdLineArgs = CmdLineParser::parse();
    return 0;
}

错误:对CmdLineParser::parse()

的未定义引用

当我将定义放在标题中时,它会编译:

static int parse(){return 0;}

有什么想法吗?

0 个答案:

没有答案