[問題] C++改寫成C

看板C_and_CPP (C/C++)作者 (跳跳佑)時間16年前 (2010/01/10 20:24), 編輯推噓3(3034)
留言37則, 8人參與, 最新討論串1/2 (看更多)
遇到的問題: (題意請描述清楚) 小弟是在課業上的問題 必須將手上的一個c++的程式改寫成c語言 但是因為對兩種都不熟 但是也不是不願意去找書來學習之類的 只是自學真的有時候不得其門兒入 不知道版上有對這兩個語言比較熟 而且可以讓我問語法的大哥大姐可以幫忙嗎 整之程式要改寫真的是有點困難 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) 小弟使用的是dev-c++ +++++++++++++++++++++++++++++++++++++++++++ 以下是原始碼的部份 class CRecord{ public: double mdPt[2]; public: CRecord() {}; virtual ~CRecord() {}; double distance(CRecord *to); }; +++++++++++++++++++++++++++++++++++++++++++++ 以下是我自己改寫的部份 struct CRecord { double mdPt[2]; CRecord() {}; virtual ~CRecord() {}; double distance(CRecord *to); }; +++++++++++++++++++++++++++++++++++++++++++++ 然後是遇到的錯誤 5 syntax error before "CRecord" 5 [Warning] no semicolon at end of struct or union 6 syntax error before '~' token 8 syntax error before '*' token +++++++++++++++++++++++++++++++++++++++++++++ 不好意思小弟弟一次在此發問題 如有錯誤會馬上改正 謝謝提醒 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.17.132.161

01/10 20:37, , 1F
是要發案or拿出code問困難的地方? 前者請至CodeJob
01/10 20:37, 1F

01/10 20:37, , 2F
後者請拿出你的東西來吧 謝謝 :)
01/10 20:37, 2F

01/10 20:46, , 3F
有問題, code就拿出來問, 沒code沒法回答...=_=
01/10 20:46, 3F

01/10 21:07, , 4F
class CRecord{
01/10 21:07, 4F

01/10 21:07, , 5F
public:
01/10 21:07, 5F

01/10 21:07, , 6F
double mdPt[2];
01/10 21:07, 6F

01/10 21:08, , 7F
public:
01/10 21:08, 7F

01/10 21:08, , 8F
CRecord() {};
01/10 21:08, 8F

01/10 21:08, , 9F
virtual ~CRecord() {};
01/10 21:08, 9F

01/10 21:08, , 10F
double distance(CRecord *to);
01/10 21:08, 10F

01/10 21:08, , 11F
};
01/10 21:08, 11F

01/10 21:09, , 12F
恩請問像這樣子的話 我class是改成struc對嗎?
01/10 21:09, 12F

01/10 21:10, , 13F
後面的public我就沒用了 然後我去查virtual是虛擬函數
01/10 21:10, 13F

01/10 21:11, , 14F
可是不知道怎麼改寫 麻煩了
01/10 21:11, 14F

01/10 21:26, , 15F
大E可以修文 :)
01/10 21:26, 15F

01/10 21:28, , 16F
我記得struct好像就是public, 這個應該可以不用管
01/10 21:28, 16F

01/10 21:29, , 17F
其他就都同類別寫法&用法, 應該是沒啥問題
01/10 21:29, 17F

01/10 21:37, , 18F
struct我查書是寫宣告結構 好像跟pubilc不太一樣
01/10 21:37, 18F

01/10 21:38, , 19F
然後在第五行的時候就又說我語法錯了
01/10 21:38, 19F

01/10 21:41, , 20F
請修改文章,把原本的程式碼與修改後的貼上來
01/10 21:41, 20F

01/10 21:41, , 21F
並且附上你遇到的錯誤訊息
01/10 21:41, 21F
※ 編輯: gary6296 來自: 163.17.132.161 (01/10 21:52)

01/10 23:23, , 22F
基本上把c++改成c就好像要你回去穿小孩子的衣服一樣
01/10 23:23, 22F

01/10 23:24, , 23F
你所耗費的精力還不如直接用c重寫一遍
01/10 23:24, 23F

01/11 07:57, , 24F
我不認同所有case都要重寫一遍 (理性討論 不是批評= =+)
01/11 07:57, 24F

01/11 07:58, , 25F
因為我之前做過把C++轉C放到硬體上跑
01/11 07:58, 25F

01/11 07:59, , 26F
我做了一些動作 1.找lib取代lib
01/11 07:59, 26F

01/11 07:59, , 27F
2.拆開class
01/11 07:59, 27F

01/11 07:59, , 28F
3.new&delete改malloc&free
01/11 07:59, 28F

01/11 08:00, , 29F
4.call by referance改call by value/address
01/11 08:00, 29F

01/11 08:02, , 30F
5.合併所有.h&.cpp成單一文件
01/11 08:02, 30F

01/11 08:03, , 31F
因為自學 所以我的方法可能很蠢 但完成上述就能跑了
01/11 08:03, 31F

01/11 08:03, , 32F
如果有virtual function的話就會很麻煩了...我覺得...
01/11 08:03, 32F

01/11 08:04, , 33F
之後都在忙double改int (關鍵字fixed point)
01/11 08:04, 33F

01/11 08:04, , 34F
可能我遇到的case比較簡單也說不定
01/11 08:04, 34F

01/11 09:10, , 35F
那就是回到 C 的 type code / function pointer 而已,但
01/11 09:10, 35F

01/11 09:11, , 36F
硬要 C++ -> C,如果我將來的兒子想說他想這樣搞,我一定
01/11 09:11, 36F

01/11 09:11, , 37F
先打死他。
01/11 09:11, 37F
文章代碼(AID): #1BISRrlh (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1BISRrlh (C_and_CPP)