[问题] 关于member function回传问题

楼主: nick982009 (dragon)   2016-05-26 21:13:10
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
Code::Blocks
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
问题(Question):
先自己写一个class Vec ,里面有一个member function inpendentSet()
在主程式需要可以执行以下:
Vec vec1;
Vec vec2;
vec1 = vec2.inpendentSet();
想问这样在class里应该要如何写,inpendentSet()回传型态必须要自己本身的物件
喂入的资料(Input):
预期的正确结果(Expected Output):
错误结果(Wrong Output):
程式码(Code):(请善用置底文网页, 记得排版)
我把它写成底下这样
class Vec
{
int *array;
int dim;
public:
Vec();
Vec(int *row, int n);
Vec inpendetSet();
};
Vec::Vec()
{
.....
}
Vec::Vec(int *row, int n)
{
.....
}
Vec Vec::inpendetSet()
{
Vec NewArray;
.....
.....
return NewArray;
}
int main()
{
.....
.....
Vec vec1;
.....(vec1已经有值)
Vec vec2;
vec2 = vec1.inpendentSet();
}
我这样写好像不行,compile会过,但执行出来会有错误然后当掉。
补充说明(Supplement):
C++新手,拜托各位大大解答,感谢><
补上完整程式码:http://codepad.org/jtzdv7lI
感谢大家qq
作者: Caesar08 (Caesar)   2016-05-26 21:19:00
你后面是不是有code没补上来?
作者: LPH66 (-6.2598534e+18f)   2016-05-26 21:46:00
你找个置底空间贴个完整程式码吧不过我会猜是由于各种原因造成的 double free
作者: Caesar08 (Caesar)   2016-05-26 21:48:00
↑ 水晶球要发威了吗!?
作者: loveflames (咕啾咕啾魔法阵)   2016-05-26 22:12:00
欠嘘啊?一堆...叫人用心电感应吗
作者: bibo9901 (function(){})()   2016-05-26 22:14:00
有 *array 又没写 copy ctor 和 dtor这样还没雷的话才需要问XD
作者: wtchen (没有存在感的人)   2016-05-26 22:22:00
要提供完整资讯别人才好帮你阿
作者: Caesar08 (Caesar)   2016-05-26 22:50:00
default constructor的dim没设定
楼主: nick982009 (dragon)   2016-05-26 23:59:00
感谢楼上...真的因为dim没设因为在还没写inpendetSet()之前,都完全没出现问题可以请问一下原因为什么吗,感谢我一直以为是不能那样回传..
作者: ilikekotomi (Young)   2016-05-27 01:30:00
可以把dim的值印出来看 可能是运气好刚好都过

Links booklink

Contact Us: admin [ a t ] ucptt.com