[問題] 無法正確編譯

看板C_and_CPP (C/C++)作者時間16年前 (2010/05/24 00:44), 編輯推噓9(9029)
留言38則, 10人參與, 最新討論串1/1
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 ) ( 未必需要依照此格式,文章條理清楚即可 ) 遇到的問題: (題意請描述清楚) 在一開始的時候就 #define a 100 可是之後執行到 function(const int a); 的時候就會出現問題 希望得到的正確結果: 能夠編譯 程式跑出來的錯誤結果: error C2143: syntax error : missing ')' before 'constant' error C2143: syntax error : missing '{' before 'constant' error C2059: syntax error : '<Unknown>' error C2059: syntax error : ')' 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) VC++2008 Express 有問題的code: (請善用置底文標色功能) code 大致上是 #define a 100 function(const int a , int b ...); main() { ..... ..... function(a ,b ...) } 定義a 只是為了到時候能方便改變a的值,想請問一夏有什麼好方法能夠解決問題 請各位大大指教 謝謝各位 補充說明: -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.204.172.25

05/24 00:46, , 1F
function(const int 100); 這樣的prototype你覺得能編
05/24 00:46, 1F

05/24 00:46, , 2F
code呢?? 你先寫了 #define a 10 然後又有一個function
05/24 00:46, 2F

05/24 00:46, , 3F
過嗎? 通常巨集為了怕混淆, 都會全部用大寫來命名
05/24 00:46, 3F

05/24 00:46, , 4F
的宣告是 function(const int a); ?? 到時a變成100了會
05/24 00:46, 4F

05/24 00:47, , 5F
被l大搶推了XD 那小弟就收工啦:)
05/24 00:47, 5F

05/24 00:47, , 6F
這個時間太剛好了 @@"
05/24 00:47, 6F

05/24 00:49, , 7F
哈~~剛好都看到新發的文嘛:D
05/24 00:49, 7F
※ 編輯: dasung 來自: 123.204.172.25 (05/24 00:52)

05/24 00:50, , 8F
看到這個我會想罵髒話 v_v
05/24 00:50, 8F

05/24 00:52, , 9F
cuda header file 函式參數有N 這個也很機車 就不能define
05/24 00:52, 9F

05/24 00:52, , 10F
不要隨便玩玩,玩壞了也不自己思索一下就把問題丟給別人
05/24 00:52, 10F
上來發文就表示我無法解決或是想不到辦法,並不是隨便玩玩 如果要隨便玩玩,我也不會選擇這個時間 如果你能夠針對問題點發文,應該能夠給別人更多幫助,而不是在酸別人的程式能力不好 ※ 編輯: dasung 來自: 123.204.172.25 (05/24 00:55)

05/24 00:54, , 11F
fread, share mem, main的argv 這些都好
05/24 00:54, 11F

05/24 00:59, , 12F
少蓋了 會問這樣語法錯誤的問題表示你嘗試不多
05/24 00:59, 12F

05/24 01:00, , 13F
除非你的語法錯誤是因為TMP相關程式
05/24 01:00, 13F

05/24 01:01, , 14F
好吧, 那提示你, 你想做的東西, 不是用在變數名稱上, 而
05/24 01:01, 14F

05/24 01:02, , 15F
是呼叫時的傳入值上; Ex: main{... function(a); ...},
05/24 01:02, 15F

05/24 01:02, , 16F
如果你的function滿足某些特性, 你也可以讓a成為預設值
05/24 01:02, 16F

05/24 01:05, , 17F
另外, 你的code看起來在main裡才宣告function prototype
05/24 01:05, 17F

05/24 01:06, , 18F
雖然不是不行, 但是你確定是要在main裡寫宣告或定義,
05/24 01:06, 18F

05/24 01:06, , 19F
而不是直接在main裡call function嗎...?_?
05/24 01:06, 19F
※ 編輯: dasung 來自: 123.204.172.25 (05/24 01:19)

05/24 01:22, , 20F
你把函式宣告部分改用int x,int y不就好了
05/24 01:22, 20F

05/24 01:28, , 21F
感謝大家的幫忙以及指教
05/24 01:28, 21F

05/24 01:42, , 22F
其實prototype也不用給變數名拉, 如非有說明的必要
05/24 01:42, 22F

05/24 01:45, , 23F
^啦 ^除
05/24 01:45, 23F

05/24 01:47, , 24F
以前小弟我proto也不寫變數名的, 可是後來看像BCB auto
05/24 01:47, 24F

05/24 01:47, , 25F
gen的code, 還有同事也都這樣寫, 就跟著一起寫了Orz
05/24 01:47, 25F

05/24 01:48, , 26F
這算是code style的問題嗎?? 我也不確定哪種會比較好@@"
05/24 01:48, 26F

05/24 01:51, , 27F
變數名也可以說明他傳進來的用途, 其實最好不要註解或
05/24 01:51, 27F

05/24 01:52, , 28F
有寫的話 至少在沒有doc的時候還可以由參數名揣摩一二
05/24 01:52, 28F

05/24 01:52, , 29F
文件寫一堆, code 裡卻無法說明清楚, 看的人還是會很
05/24 01:52, 29F

05/24 01:52, , 30F
05/24 01:52, 30F

05/24 05:51, , 31F
亂數上限 (>RAND_MAX) 問題
05/24 05:51, 31F

05/24 05:51, , 32F
= =sory. 入錯, 本要發文的
05/24 05:51, 32F

05/24 10:16, , 33F
是沒錯, 可是變數名在宣告不寫, 在定義還是得寫會出現呀
05/24 10:16, 33F

05/24 10:18, , 34F
不過, 小弟也推code裡無論命名或註解都應該說明好才是:)
05/24 10:18, 34F

05/24 11:22, , 35F
你好像對把很多東西命名成 a 有特殊偏好?
05/24 11:22, 35F

05/24 12:19, , 36F
有可能看不到定義啦~ XD
05/24 12:19, 36F

05/24 15:20, , 37F
我懶得想變數名的時候都命名gy或ggyy :D
05/24 15:20, 37F

05/24 15:58, , 38F
我都是用test跟WTF XD
05/24 15:58, 38F
文章代碼(AID): #1B-LjPKz (C_and_CPP)
文章代碼(AID): #1B-LjPKz (C_and_CPP)