我使用javascript进行了一些工作,因此决定开发一个类似于str.split()的函数,但是使用C ++。我编写的下一个代码向我显示此错误:
没有重载函数“ std :: vector <_Ty,_Alloc> :: push_back [with _Ty = char,_Alloc = std :: allocator]”的实例与参数列表匹配-参数类型为:(char *)- -对象类型为:std :: vector>
#include <iostream>
#include <cstring>
#include <vector>
using namespace std;
vector<char> split(char str[], char spliter[]){
unsigned i=0;
vector <char> output;
char *p = strtok(str, spliter);
do{
output.push_back(p);
p = strtok(NULL, spliter);
}while(p != NULL);
return output;
}
int main()
{
char s[51];
strcpy(s, "I have a cake");
split(s, " ");
}