数组的问题,我是新手,请打脸

2014-12-04 00:01:09 +08:00
 a396503616
#include<iostream>
using namespace std;
void main()
{
    int num[3],i=2,x;
    cin >> num[i];
    x = num[i];
    cout << x;
}

为什么出错了

2658 次点击
所在节点    程序员
16 条回复
messyidea
2014-12-04 00:19:59 +08:00
手机端没验证过。。应该没错吧。。最多报一个警告,要int main,然后return 0
Automan
2014-12-04 00:35:13 +08:00
没错。

换个编译器,建议void main或改成int main
a396503616
2014-12-04 00:35:55 +08:00
@messyidea 警告:找到一个或多个多重定义的符号,不知道怎么解决了
a396503616
2014-12-04 00:36:27 +08:00
@Automan 我是用vs 2013的
a396503616
2014-12-04 00:38:10 +08:00
@messyidea 换了int main,加了return 0;还是这样。。
Automan
2014-12-04 00:39:47 +08:00
xcode下一切正常...
a396503616
2014-12-04 00:43:50 +08:00
@Automan windows好像不能用xcode吧。。。。
GtDzx
2014-12-04 00:45:08 +08:00
@a396503616 你看看是哪个符号多重定义了,是main吗? 如果是的话估计你工程建的有些问题。
a396503616
2014-12-04 00:46:29 +08:00
@GtDzx 没工程,就是这点代码.。。。
levie
2014-12-04 00:53:07 +08:00
vs 2013也表示一切正常……
Sunyanzi
2014-12-04 01:01:47 +08:00
代码没问题 ... 重启下 VS 重建个文件执行一下吧 ...
acros
2014-12-04 01:10:30 +08:00
2013可以不建工程跑?03以后就全部要求工程了啊!
init
2014-12-04 12:43:08 +08:00
http://cpp.sh/
我用这个确认的, 除了改了main的返回值为int 之外没有什么异常啊
liuxu
2014-12-04 16:22:27 +08:00
刚看了一两个小时的C++ Primer 5...

using namespace::name;

所以应该预先定义
using std::cin;
using std::cout;

以及以上的
int main(){
return 0;
}

这样试试?
hxtheone
2014-12-04 16:38:28 +08:00
我这边跑这段代码如果用void main会报错,改成int就OK了
abscon
2014-12-04 21:11:38 +08:00
我是来吐槽 i=2 这个自动生成的标签的。

另外,楼主既然肯在 = << >> 这些操作符两侧加空格,为什么不在#include和逗号之后也加空格呢。
void main不符合标准,请改成 int main,会被鄙视的。

@liuxu 用了 using namespace std; 就不必单列 using std::cin什么的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/151345

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX