看板 C_and_CPP 關於我們 聯絡資訊
開發平台(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 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 120.127.224.113 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1464268394.A.A41.html
Caesar08: 你後面是不是有code沒補上來? 05/26 21:19
LPH66: 你找個置底空間貼個完整程式碼吧 05/26 21:46
LPH66: 不過我會猜是由於各種原因造成的 double free 05/26 21:46
Caesar08: ↑ 水晶球要發威了嗎!? 05/26 21:48
loveflames: 欠噓啊?一堆...叫人用心電感應嗎 05/26 22:12
bibo9901: 有 *array 又沒寫 copy ctor 和 dtor 05/26 22:14
bibo9901: 這樣還沒雷的話才需要問XD 05/26 22:15
wtchen: 要提供完整資訊別人才好幫你阿 05/26 22:22
※ 編輯: nick982009 (120.127.224.113), 05/26/2016 22:39:45
Caesar08: default constructor的dim沒設定 05/26 22:50
nick982009: 感謝樓上...真的因為dim沒設 05/26 23:59
nick982009: 因為在還沒寫inpendetSet()之前,都完全沒出現問題 05/27 00:00
nick982009: 可以請問一下原因為什麼嗎,感謝 05/27 00:02
nick982009: 我一直以為是不能那樣回傳.. 05/27 00:03
ilikekotomi: 可以把dim的值印出來看 可能是運氣好剛好都過 05/27 01:30