作者:
HateAnus (討厭從後面來)
2018-04-16 23:45:01開發平台(Platform): (Ex: Win10, Linux, ...)
Dev cpp
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
TDM-GCC
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
//
作者:
djshen (djshen)
2018-04-16 23:49:0013行確定會跳出?
作者:
crazycy (LCY)
2018-04-16 23:54:00delete?喔 沒事 當我沒說
作者:
djshen (djshen)
2018-04-16 23:58:00code不詳細錯誤訊息也不詳細不如擲筊你可以用debugger
作者:
flyfoxy (飛狐)
2018-04-17 00:00:00sInput[i+1]越界,當下沒當,而是當在後面奇怪的地方
與一樓有相同的疑問,覺得13行沒跳出造成Str1違規存取
Str100的型別是什麼?我猜是char[100],而且Str1沒給結束字元,造成strcpy複製過多而出錯
全部code傳github比較有幫助 這樣才知道Str100做什麼
這段程式有多處會造成違規存取,沒修好死在奇怪的地方都不意外猜測13行的檢查在沒有空白的時候,會越過結束字元,迴圈停不下來且造成記憶體破壞,剛好結束迴圈後是new,才誤以為是new出問題
作者:
joe820730 (Let it go)
2018-04-17 09:22:00這沒把完整程式碼上傳跟擲筊差不多...
作者:
hunandy14 (Charlott.HonG)
2018-04-17 14:36:00實際上被你隱藏起來的地方是有關連的如果真的要隱藏,可以開一個單檔最小化重現bug把你覺得重要的地方砍一砍保留會錯誤的部分砍到最簡
作者:
Neisseria (Neisseria)
2018-04-17 16:33:00struct的你有做typedef嗎?不知道沒做會不會有問題
作者:
djshen (djshen)
2018-04-18 01:08:00strcpy要copy到哪去?我知道你想幹嘛 但你知道你要copy去哪?
作者:
djshen (djshen)
2018-04-18 13:38:00你覺得char*會指到哪裡
作者:
hunandy14 (Charlott.HonG)
2018-04-18 17:08:0064行補 tk->tokenStr = new char[strlen(temp)];更正 還要+1, 這樣應該可以理解了吧QuQ 自己找地方del行數我有砍到 是78
作者:
joe820730 (Let it go)
2018-04-19 21:33:00char array在編譯期就配好記憶體,當然不會出錯而char pointer如果你沒有new或malloc一個空間給它,你根本不知道它會指到哪,當機也就理所當然了
作者:
dzwei (Cout<< *p << \n ;)
2018-04-21 03:31:00