与“operator<<”(操作数类型为“std::basic_ostream<char>”和“void”)gcc 不匹配

no match for 'operator<<' (operand types are 'std::basic_ostream<char>' and 'void')gcc

提问人:Baran 提问时间:11/7/2023 最后编辑:Baran 更新时间:11/7/2023 访问量:24

问:

首先,这是我的代码:

#include <iostream>
#include <string>
#include <vector>

using namespace std;

void print_vector(const vector<int> &v);
int censor(vector<int> &v);




int main(){
    vector<int> numbers{1,2,3,4,5,6,7};
    cout << "Before censor: " << print_vector(numbers) << endl;

    cout << endl;
    system("Pause");
    return 0;
}

int censor(vector<int> &v){
    for(auto num: v)
        if(v.size() > 6)
            v.at(3) = 4;
        else
            cout << "No need to censor.";
    return v.at(3);
}

void print_vector(const vector<int> &v){
    for(auto s: v)
        cout << s << endl;
    cout << endl;
}

但问题是,在 int main() 中,“cout <<”运算符不起作用。我添加了错误的SS。怎么了?编译器错误

我尝试<<“某物”添加 cout;在 int main() 中的向量之前,这起作用了。但在那之后,没有一个“cout <<”在 int main() 中起作用。

问题的屏幕截图是文本的。

C++ iostream cout

评论


答: 暂无答案