C++ 全局函数头及其实现
如何划分全局函数的头和实现 我的方式是: split.hC++ 全局函数头及其实现,c++,C++,如何划分全局函数的头和实现 我的方式是: split.h #pragma once #include <string> #include <vector> #include <functional> #include <iostream> void split(const string s, const string c); main.cpp // main.cpp : Defines the entry point for the cons
#pragma once
#include <string>
#include <vector>
#include <functional>
#include <iostream>
void split(const string s, const string c);
main.cpp
// main.cpp : Defines the entry point for the console application.
//
#include <string>
#include <vector>
#include <functional>
#include <iostream>
#include "stdafx.h"
#include "split.h"
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
vector<string> v;
string s = "The;;woraaald;;is;;not;;enoaaaugh";
string c = " aaa ;; ccc";
split(s,c);
return 0;
}
错误包括:
错误1错误C4430:缺少类型说明符-假定为int。注意:C++不支持默认int…\SPL.H 8
错误2错误C2146:语法错误:缺少“,”在标识符的“…\split.h8”之前
我怎样才能解决这个问题?thx在头文件中使用std::namespace qualifier-std::string在头文件中使用std::namespace qualifier-std::string至少有一个问题是,您在split.h:
#pragma once
#include <string>
#include <vector>
#include <functional>
#include <iostream>
void split(const std::string s, const std::string c);
至少有一个问题是,split.h:
#pragma once
#include <string>
#include <vector>
#include <functional>
#include <iostream>
void split(const std::string s, const std::string c);
在头文件中,必须提供完全限定的名称std::string。在源文件中,可以使用名称空间std添加;或者使用std::string;然后把它拼成字符串
另外,您已经声明了按值获取参数的函数,但定义了按引用获取参数的函数。在头文件中,您必须给出完全限定名std::string。在源文件中,可以使用名称空间std添加;或者使用std::string;然后把它拼成字符串
另外,您已经声明了按值获取参数的函数,但定义了按引用获取参数的函数。我想您可能忘记了使用std::string;在分割声明之前,或使用std::string const&作为分割参数声明
另外,拆分声明与拆分定义字符串常量和字符串常量不匹配&我认为您可能忘记了使用std::string放置;在分割声明之前,或使用std::string const&作为分割参数声明
标准库中的拆分定义字符串常量与字符串常量的拆分声明不匹配&类位于std::namespace中。不要在头文件中使用名称空间,请完全限定名称。为了保持一致性,您也可以尝试在源文件中改掉这个习惯。第二个错误是由字符串引起的,该字符串必须是std::string,除非您指定使用std::string;。标准库中的类位于std::namespace中。不要在头文件中使用名称空间,请完全限定名称。为了保持一致性,您也可以尝试在源文件中改掉这个习惯。第二个错误是由字符串引起的,该字符串必须是std::string,除非您指定使用std::string;。