C ++数组错误与类型不匹配

时间:2017-01-26 16:37:02

标签: c++ arrays

这是我的代码,我收到以下错误。

代码

#include <vector>
#include <iostream>
//...
using namespace std;
main(){
vector<int> arrayi;
int i = 999;          // some integer value
arrayi.reserve(10);    // make room for 10 elements
arrayi.push_back(i);
cout<<arrayi.capacity()<<endl;
cout<<arrayi.size()<<endl;
}

错误

|| ===构建文件:“无项目”中的“无目标”(编译器:未知)=== | 错误:'arrayi'没有命名类型|

错误:'arrayi'没有命名类型|

错误:'cout'没有命名类型|

错误:'cout'没有命名类型|

|| ===构建失败:4个错误,0个警告(0分钟,0秒(秒))=== |

我哪里出错?

2 个答案:

答案 0 :(得分:1)

您的代码位于全局命名空间中,它应该使用main()等函数。

#include <vector>
#include <iostream>

int main()
{
    std::vector<int> arrayi;
    int i = 999;           // some integer value
    arrayi.reserve(10);    // make room for 10 elements
    arrayi.push_back(i);
    std::cout << arrayi.capacity() << std::endl;
    std::cout << arrayi.size() << std::endl;
}

Demo

答案 1 :(得分:1)

您可能没有在namespace- / file - statements中使用表达式scope。只允许声明声明。

声明一个函数,并在该函数的块作用域中写入表达式。特别是,我建议声明main function,因为C ++程序必须包含一个。主要功能是程序的切入点。