#include<iostream> #include<vector> using namespace std; vector<int> v1, v2, v3, v4; int array[] = {1,2,3,4,5}; v1.assign(array, array + 5);严重性 代码 说明 项目 文件 行 禁止显示状态 错误(活动) E0077 此声明没有存储类或类型说明符 STL_2 C:\VS C++\STL_2\STL_2\vector_1.cpp 29
时间: 2024-02-19 21:57:34 浏览: 91
请将 v1.assign(array, array + 5) 这一行代码放在函数内部,并用 {} 将其括起来,例如:
```c++
#include<iostream>
#include<vector>
using namespace std;
int main() {
vector<int> v1, v2, v3, v4;
int array[] = {1,2,3,4,5};
v1.assign(array, array + 5);
return 0;
}
```
这样应该就不会再出现 "此声明没有存储类或类型说明符" 的错误了。如果还有问题,请再提供更多的代码和错误信息,以便我更好地帮助您解决问题。
相关问题
#include <iostream> #include <algorithm> #include <vector> using namespace std; int main() { int n; cin >> n; vector<int> nums(n); for (int i = 0; i < n; i++) { cin >> nums[i]; } sort(nums.begin(), nums.end()); // 排序
您的代码漏掉了大括号,请在sort语句后面加上大括号。另外,您需要加上输出结果的语句。完整的代码如下:
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
int n;
cin >> n;
vector<int> nums(n);
for (int i = 0; i < n; i++) {
cin >> nums[i];
}
sort(nums.begin(), nums.end()); // 排序
for (int i = 0; i < n; i++) {
cout << nums[i] << " ";
}
return 0;
}
#include <iostream> #include <vector> using namespace std; int main() { int n; cin >> n; vector<int> a; for(int i = 0; i < n;i++) { cin >> a[i]; } return 0; }
这段代码存在问题,vector 容器在使用前需要先分配空间,可以使用 resize() 函数或者在构造函数中指定大小。否则会出现访问越界的错误。可以将代码改成如下:
```
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n;
cin >> n;
vector<int> a(n); //分配空间
for(int i = 0; i < n;i++) {
cin >> a[i];
}
return 0;
}
```
阅读全文