我有一个带有公共静态成员函数的类。似乎我无法在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;}
有什么想法吗?