学习型 ASP/PHP/ASP.NET 主机 30元/年全能 ASP/PHP/ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
发新话题
打印

鉴定你有没学会数组

int*p=a;func3(p);//尝试过很多方法,始终没办法成功传引用,只能这样了。

func3((int*&)a);GCC编译错误,VC编译正确但运行期异常(并且无法得到a的值)。
其实是因为a最多只能退化为int*const,无法被int*引用。这个是没有办法改变的。正确答案如上。
专心编程………
飞燕算法初级群:3996098
我的Blog

TOP

看样子中学者应该属于中级的范畴……不过挺可怜的,每组都做错一道题……看来只能算是初级了(哈哈~~)
专心编程………
飞燕算法初级群:3996098
我的Blog

TOP

11.void func1(int*);  -> func1(a);
    12.void func2(int(&)[4]);  -> func2((int(&)[4])a);
    13.void func3(int*&); -> func3((int*&)a); //做错
    14.void func4(int(&)[3][3]);  -> func4((int(&)[3][3])a);
这明显是硬来吧,成脑筋急转弯了呵呵
follow your heart

TOP

Orz...我没仔细看中学者的答案……算了,我贴自己答案得了……
    func1(a);
    func2(*(int(*)[4])a);
    int*p=a;func3(p);//尝试过很多方法,始终没办法成功传引用,只能这样了。
    func4(*(int(*)[3][3])a);
专心编程………
飞燕算法初级群:3996098
我的Blog

TOP

除了这四个,其余的中学者的答案是正确的。
专心编程………
飞燕算法初级群:3996098
我的Blog

TOP

跟天书一样啊!
去帮我看看问题啊!
我秀我自己

TOP

   连初级都过不了```
女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
www.yzfy.org    yzfy.5d6d.com

TOP

8.((int(*)[4])a+1)[1][1] = 10 ==>((int(*)[4])a)[2][1]==>
==>*((int(*)[4])a+2)[1]=10
学习需要安静。。海盗要重新来过。。

TOP

再支持一次,强力支持。
我去搞定,然后写出详细的步骤。
期待我的解答~~~~

TOP

对于第三个函数,如果直接传a的话,是一个左值,不可能被non-ref绑定....
我直接改掉:void func3(int* const& );这下好了 func3(a)
汇编.....

TOP

发新话题