C ++中的“声明没有存储类或类型说明符”

时间:2019-05-28 03:29:25

标签: c++

我正在通过本书(第5版)学习C ++,今天在练习12.6时遇到问题。

代码如下所示,错误为this declaration has no storage class or type specifier。但是程序可以正常运行。错误位于“}”的最后一行。

#include<iostream>
#include<vector>
#include<new>

using namespace std;

vector<int>* func(){
    return new vector<int>();
}

void read_vec(istream &in, vector<int>* vp){
    int i;
    while(in>>i)
        vp->push_back(i);
}

void print_vec(vector<int>* vp){
    for(int i:*vp)
        cout<<i<<" ";
    cout<<endl;
}

int main(){
    auto vec = func();
    cout<<"Enter a sequence of integers"<<endl;
    read_vec(cin,vec);
    print_vec(vec);
    delete vec;
    vec = nullptr;

    system("pause");
}

我已经搜索了邮件,但仍然无法弄清楚我的代码在哪里。

我会很感激所有提示。

1 个答案:

答案 0 :(得分:1)

您需要标准库头文件<cstdlib>才能使用system

添加

#include <cstdlib>

位于文件顶部。然后,使用std::system而不是system

std::system("pause");