我遇到了这两个错误,但我无法弄清楚。我基本击中了编码 block 。
变量或字段 'printVector' 在
之前声明为无效且缺少模板参数
#include <iostream>
#include <vector>
#include <cctype>
using namespace std;
void printVector(vector<string> vec);
int main() {
vector<string> ivec;
cout<<"Please your sequence of words and ctrl-z to stop"<<endl;
string input;
while(getline(cin, input)){
ivec.push_back(input);
}
cout<<"Your input is: \n";
for(std::vector<string>::iterator it = ivec.begin(); it != ivec.end(); ++it ){
cout<<*it<<"";
}
cout<<"Your input changed to upper case: "<<endl;
printVector(ivec);
return 0;
}
void printVector(vector<string> vec){
for(auto &v: vec){
for(auto &c: v)
cout<<toupper(c)<<"";
}
}
更新:
void printVector(vector<string> vec){
// process characters in s until we run out of characters or we hit a whitespace
for (auto it = vec.begin(); it != vec.end() && !isspace(*it); ++it)
*it = toupper(*it);
错误:
无效参数 '无效参数 '
没有用于调用“toupper(std::basic_string&)”的匹配函数
你需要添加
#include <string>
到你的程序。
自 std:string
未声明编译器无法将其识别为 std::vector<std::string>
的有效模板参数.
我是一名优秀的程序员,十分优秀!