V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
a396503616
V2EX  ›  程序员

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

  •  
  •   a396503616 · 2014-12-04 00:01:09 +08:00 · 2674 次点击
    这是一个创建于 3672 天前的主题,其中的信息可能已经有所发展或是发生改变。
    #include<iostream>
    using namespace std;
    void main()
    {
        int num[3],i=2,x;
        cin >> num[i];
        x = num[i];
        cout << x;
    }
    

    为什么出错了

    16 条回复    2014-12-04 21:11:38 +08:00
    messyidea
        1
    messyidea  
       2014-12-04 00:19:59 +08:00 via Android
    手机端没验证过。。应该没错吧。。最多报一个警告,要int main,然后return 0
    Automan
        2
    Automan  
       2014-12-04 00:35:13 +08:00
    没错。

    换个编译器,建议void main或改成int main
    a396503616
        3
    a396503616  
    OP
       2014-12-04 00:35:55 +08:00
    @messyidea 警告:找到一个或多个多重定义的符号,不知道怎么解决了
    a396503616
        4
    a396503616  
    OP
       2014-12-04 00:36:27 +08:00
    @Automan 我是用vs 2013的
    a396503616
        5
    a396503616  
    OP
       2014-12-04 00:38:10 +08:00
    @messyidea 换了int main,加了return 0;还是这样。。
    Automan
        6
    Automan  
       2014-12-04 00:39:47 +08:00
    xcode下一切正常...
    a396503616
        7
    a396503616  
    OP
       2014-12-04 00:43:50 +08:00
    @Automan windows好像不能用xcode吧。。。。
    GtDzx
        8
    GtDzx  
       2014-12-04 00:45:08 +08:00
    @a396503616 你看看是哪个符号多重定义了,是main吗? 如果是的话估计你工程建的有些问题。
    a396503616
        9
    a396503616  
    OP
       2014-12-04 00:46:29 +08:00
    @GtDzx 没工程,就是这点代码.。。。
    levie
        10
    levie  
       2014-12-04 00:53:07 +08:00
    vs 2013也表示一切正常……
    Sunyanzi
        11
    Sunyanzi  
       2014-12-04 01:01:47 +08:00
    代码没问题 ... 重启下 VS 重建个文件执行一下吧 ...
    acros
        12
    acros  
       2014-12-04 01:10:30 +08:00 via iPhone
    2013可以不建工程跑?03以后就全部要求工程了啊!
    init
        13
    init  
       2014-12-04 12:43:08 +08:00
    http://cpp.sh/
    我用这个确认的, 除了改了main的返回值为int 之外没有什么异常啊
    liuxu
        14
    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
        15
    hxtheone  
       2014-12-04 16:38:28 +08:00
    我这边跑这段代码如果用void main会报错,改成int就OK了
    abscon
        16
    abscon  
       2014-12-04 21:11:38 +08:00
    我是来吐槽 i=2 这个自动生成的标签的。

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

    @liuxu 用了 using namespace std; 就不必单列 using std::cin什么的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5212 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 01:26 · PVG 09:26 · LAX 17:26 · JFK 20:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.