C++ 为什么typedef向量<;int>;不在代码块中工作? #包括 使用名称空间std; typedef long long int ll; typedef向量vi; typedef对pi; int main(){ ios_base::与_stdio同步(false); cin.tie(空); int-num; while(cin>>num){ vi.推回(num); } 对于(int i=0;i

C++ 为什么typedef向量<;int>;不在代码块中工作? #包括 使用名称空间std; typedef long long int ll; typedef向量vi; typedef对pi; int main(){ ios_base::与_stdio同步(false); cin.tie(空); int-num; while(cin>>num){ vi.推回(num); } 对于(int i=0;i,c++,vector,typedef,C++,Vector,Typedef,您可能需要: #include<bits/stdc++.h> using namespace std; typedef long long int ll; typedef vector<int> vi; typedef pair<int,int> pi; int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); int num; while(cin>>num){ vi.pu

您可能需要:

#include<bits/stdc++.h>
using namespace std;

typedef long long int ll;
typedef vector<int> vi;
typedef pair<int,int> pi;

int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int num;
while(cin>>num){
    vi.push_back(num);
}
for(int i=0;i<vi.size();++i){
    cout<<vi[i]<<"\n";
}

return 0;
}
#包括//去掉那些不标准的
#包含//并包含正确的标题
使用名称空间std;
vector vi;//您想声明变量vi,而不是类型vi
//而且还要去掉只会引起混乱的typedef
int main(){
ios_base::与_stdio同步(false);
cin.tie(空);
int-num;
while(cin>>num){
vi.推回(num);
}
对于(int i=0;i不能投票以键入方式结束。
vi
是一种类型,而不是变量。您需要创建一个类型为
vi
的对象并使用它。另外,请不要为常用类型定义宏或类型别名,这只会使代码更难阅读和理解。至于您的问题,也许您应该花更多时间阅读ra而不是花在在线评委/竞赛网站(通常提供与你类似的模板代码)上。这些网站不是为了学习基础知识,也不是教学资源(除非你想学习的只是如何成为一个只知道如何为这些网站编写代码的糟糕程序员,而不是其他什么).它已经到了应该有一些关于如何发布在线评判问题和/或这种“竞争性编程”的内容的地步东西。我们不是在线评委,这里没有竞争性编程速度测试。因此,代码应该尽可能连贯、理智、专业地编写,而不是像你给评委网站的那样一字不差地复制和粘贴。我不认为这有多苛刻。OP没有因为使用竞争性编程而受到攻击或贬低我非常同意关于竞争性编码网站的观点。它们是学习的垃圾。当然,它们在这里和那里都会有一点乐趣,但当你测试失败时,你会得到关于为什么或什么数据集失败的零反馈,这几乎使调试变得不可能。它们积极地阻止人类可读的代码,而喜欢炫耀如何你很聪明。他们似乎只鼓励最坏的做法。
#include <vector>    // get rid of <bits/stdc++.h> which is not standard
#include <iostream>  // and include the proper headers

using namespace std;

vector<int> vi;    // you want to declare a variable vi, not a type vi
                   // and also get rid of typedefs which only cause confusion
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  int num;

  while (cin >> num) {
    vi.push_back(num);
  }

  for (int i = 0; i < vi.size(); ++i) {
    cout << vi[i] << "\n";
  }

  return 0;
}
for (int i = 0; i < vi.size(); ++i) {
  cout << vi[i] << "\n";
}
for (auto & value : vi) {   //meaning: for all values in vi:
  cout << value << "\n";    //             print value
}