[問題] expected primary-expression before ' …

看板C_and_CPP (C/C++)作者 (兌現承諾)時間16年前 (2009/12/09 11:22), 編輯推噓3(309)
留言12則, 4人參與, 最新討論串1/1
遇到的問題: (題意請描述清楚) class"B"的 public data member vector<double> *f 而main內有個函式 A(vector<double> &) 我這樣做 A(*(*B.f)) 程式跑出來的錯誤結果: expected primary-expression before '.' token 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) Dev-C++ 有問題的code: (請善用置底文標色功能) 補充說明: 請指正我的程式觀念,我不知道該怎麼改... 謝謝囉. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.120.11.174

12/09 11:51, , 1F
B是指標嗎?? 是就A(*((*B).f)), 不是就A(*(B.f))試試@@"
12/09 11:51, 1F

12/09 11:51, , 2F
前者A(*(B->f))應該也行; 不是這個問題的話就不知了@@"
12/09 11:51, 2F

12/09 11:55, , 3F
就error message看來.. B是class name
12/09 11:55, 3F

12/09 11:56, , 4F
non-static member要有一個instance才能用
12/09 11:56, 4F

12/09 11:57, , 5F
所以要 B b; A(*b.f); 這樣
12/09 11:57, 5F

12/09 12:10, , 6F
class name 又不是 primary-expression,你沒查語法表嗎。
12/09 12:10, 6F
什麼語法表,我不是資工相關科系的,所知道的資源比較少. 我犯了低級錯誤. 我有class B.在main內我忘記打上物件的名稱就這樣用 B (...........); 但可以compile,我也就找不到錯誤在這了 這樣compiler不會告訴我錯了喔!? 為什麼呢? 應該這樣才對 B b(...................); 謝謝大家熱心回覆. ※ 編輯: luckychild 來自: 140.120.11.174 (12/09 12:39)

12/09 14:40, , 7F
B(xxx) 是合法的啊,意思是造出一個臨時物件。
12/09 14:40, 7F

12/09 14:42, , 8F
程式語言跟 BNF 的看法在大一計概會教吧,沒學到要罵老師
12/09 14:42, 8F

12/09 14:43, , 9F
,我記得以前很多非資工系的計概亂教,學生去考預官計概死
12/09 14:43, 9F

12/09 14:43, , 10F
很慘才知道要回學校罵老師亂教 XD
12/09 14:43, 10F

12/09 15:15, , 11F
外系的大一資概有半學期一學期都在教office之類的吧XD
12/09 15:15, 11F

12/09 16:29, , 12F
前台北教大校長莊某當年在某淡字學校開的資概也差不多
12/09 16:29, 12F
文章代碼(AID): #1B7nW1dx (C_and_CPP)
文章代碼(AID): #1B7nW1dx (C_and_CPP)