我正在通过本书(第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");
}
我已经搜索了邮件,但仍然无法弄清楚我的代码在哪里。
我会很感激所有提示。
答案 0 :(得分:1)
您需要标准库头文件<cstdlib>
才能使用system
。
添加
#include <cstdlib>
位于文件顶部。然后,使用std::system
而不是system
。
std::system("pause");