[問題] struct能接受argument嗎?

看板C_and_CPP作者 (流浪者)時間15年前 (2010/06/01 04:48), 編輯推噓1(1012)
留言13則, 4人參與, 最新討論串1/1
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 ) ( 未必需要依照此格式,文章條理清楚即可 ) 遇到的問題: (題意請描述清楚) 請問大家在C/C++中使用struct能像Function一樣接受argument嗎? 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) 在windows 7上,用 Dev=C++ compile. 我在一本書上看到以下的寫法: struct point { int x; int y; }; struct addpoint(struct point p1, struct point p2) { p1.x += p2.x; p1.y += p2.y; return p1; }; 這個應該是寫將兩個點加起來的功能. 不過我用Dev-C++編譯不能過(顯示:缺少')'),看了一下之前的文章好像也沒有讓str uct能 傳參數進來運算的例子.我把"(struct point p1, struct point p2)"這一串去掉(大括號 內的內容也去掉)就過了...所以我懷疑struct可能不能傳參數進去吧. 不過為什麼書上會有這種寫法?是以前有過後來被修掉了嗎?有人可以告訴我是怎麼一回 事嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 72.229.53.41 ※ 編輯: doomhammer 來自: 72.229.53.41 (06/01 04:50)

06/01 04:59, , 1F
struct addpoint => point addpoint
06/01 04:59, 1F

06/01 05:01, , 2F
或是你想寫長一點跟後面參數的模式一樣:
06/01 05:01, 2F

06/01 05:01, , 3F
struct addpoint => struct point addpoint
06/01 05:01, 3F

06/01 05:08, , 4F
感謝Digi大大,我把struct addpoint()改成struct point
06/01 05:08, 4F

06/01 05:09, , 5F
addpoint()就過了...所以我建立了一個struct point名為
06/01 05:09, 5F

06/01 05:11, , 6F
addpoint()...而不是只單純建立一個名為addpoint的結構
06/01 05:11, 6F

06/01 05:12, , 7F
addpoint 是函數 只是吃的參數跟回傳值是結構
06/01 05:12, 7F

06/01 07:31, , 8F
你定義了一個回傳值為struct point的函式叫addpoint()
06/01 07:31, 8F

06/01 07:33, , 9F
不過後面的分號是不是多出來的呀
06/01 07:33, 9F

06/01 10:55, , 10F
我仔細看了一下書,在struct point addpoint(){....}最
06/01 10:55, 10F

06/01 10:57, , 11F
後沒有分號...但是我實際寫的時候是寫在main外面,而且
06/01 10:57, 11F

06/01 10:58, , 12F
最後有加上';'.有點混淆了...應該是要加吧?
06/01 10:58, 12F

06/01 11:00, , 13F
函數可加可不加..不影響
06/01 11:00, 13F
文章代碼(AID): #1C122pTU (C_and_CPP)