V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
a396503616
V2EX  ›  程序员

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

  •  
  •   a396503616 · Dec 4, 2014 · 3091 views
    This topic created in 4166 days ago, the information mentioned may be changed or developed.
    #include<iostream>
    using namespace std;
    void main()
    {
        int num[3],i=2,x;
        cin >> num[i];
        x = num[i];
        cout << x;
    }
    

    为什么出错了

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

    换个编译器,建议void main或改成int main
    a396503616
        3
    a396503616  
    OP
       Dec 4, 2014
    @messyidea 警告:找到一个或多个多重定义的符号,不知道怎么解决了
    a396503616
        4
    a396503616  
    OP
       Dec 4, 2014
    @Automan 我是用vs 2013的
    a396503616
        5
    a396503616  
    OP
       Dec 4, 2014
    @messyidea 换了int main,加了return 0;还是这样。。
    Automan
        6
    Automan  
       Dec 4, 2014
    xcode下一切正常...
    a396503616
        7
    a396503616  
    OP
       Dec 4, 2014
    @Automan windows好像不能用xcode吧。。。。
    GtDzx
        8
    GtDzx  
       Dec 4, 2014
    @a396503616 你看看是哪个符号多重定义了,是main吗? 如果是的话估计你工程建的有些问题。
    a396503616
        9
    a396503616  
    OP
       Dec 4, 2014
    @GtDzx 没工程,就是这点代码.。。。
    levie
        10
    levie  
       Dec 4, 2014
    vs 2013也表示一切正常……
    Sunyanzi
        11
    Sunyanzi  
       Dec 4, 2014
    代码没问题 ... 重启下 VS 重建个文件执行一下吧 ...
    acros
        12
    acros  
       Dec 4, 2014 via iPhone
    2013可以不建工程跑?03以后就全部要求工程了啊!
    init
        13
    init  
       Dec 4, 2014
    http://cpp.sh/
    我用这个确认的, 除了改了main的返回值为int 之外没有什么异常啊
    liuxu
        14
    liuxu  
       Dec 4, 2014
    刚看了一两个小时的C++ Primer 5...

    using namespace::name;

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

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

    这样试试?
    hxtheone
        15
    hxtheone  
       Dec 4, 2014
    我这边跑这段代码如果用void main会报错,改成int就OK了
    abscon
        16
    abscon  
       Dec 4, 2014
    我是来吐槽 i=2 这个自动生成的标签的。

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

    @liuxu 用了 using namespace std; 就不必单列 using std::cin什么的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   937 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 64ms · UTC 18:56 · PVG 02:56 · LAX 11:56 · JFK 14:56
    ♥ Do have faith in what you're doing.