问题描述
今天自己用c++写了一个静态的工具类,用来处理字符串切割用的,发现写好之后,出现一个很奇葩的问题,死活编译不过去,就是一个劲地报错;
但我看了代码这样写是没问题的;
源码
StringUtils.h
#ifndef FLOW_SERVER_STRINGUTILS_H
#define FLOW_SERVER_STRINGUTILS_H
#include "string"
#include "vector"
#include <sstream>
#include "iostream"
using namespace std;
/**
* 字符串工具类
*/
class StringUtils {
public:
static std::vector<std::string> split();
};
#endif //FLOW_SERVER_STRINGUTILS_H
StringUtils.cpp
#include "StringUtils.h"
std::vector<std::string> StringUtils::split() {
std::vector<std::string> list;
return list;
}
main.cpp
#include "StringUtils.h"
int main() {
StringUtils::split();
}
解决方案
我做了以下操作解决了我的问题:
- 将
StringUtils.h
改为StringUtil.h
, - 将
StringUtils.cpp
改为StringUtil.cpp
;
之后在运行,一切又正常了