作者sorryChen (陳揚和)
看板Programming
標題c++ 中define constant
時間Mon Jan 19 09:52:47 2009
問一個基本問題
一些class 有buffer 需要定義buffer size
可以統一在某個header file 定義 這樣不同class類似的buffer有同樣大小的定義
或可以在class本身定義 這樣這個class拿到其他地方用的時候也有定義
不會找不到global variable
我以前都用
#ifndef BUFFER_SIZE
#define BUFFER_SIZE 10000
#endif
問題是
若改用 const int BUFFER_SIZE=10000; 要怎麼樣不會有重複定義的問題ㄚ
我原本以為一樣用#ifndef就好了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 128.125.87.33
1F:→ jlovet:第一行不用10000?140.123.102.254 01/19 10:43
※ 編輯: sorryChen 來自: 128.125.87.33 (01/19 11:48)
2F:→ sorryChen:sorry..打錯 128.125.87.33 01/19 11:48
3F:→ jaw109:namespace 60.250.140.195 01/19 12:10
4F:推 LPH66:我有點看不太懂你的問題...是哪裡重覆定義? 140.112.30.84 01/19 13:30
5F:→ godfat:我猜他寫成 global 然後全部 link 起來 220.128.121.85 01/19 14:12
6F:→ WPC001:別放在header file, 放在.c/.cpp裡頭 123.195.61.174 01/19 22:23
7F:→ WPC001:header file宣告前面加external 123.195.61.174 01/19 22:24
8F:→ WPC001:比如說 [.h] extern int BUFFER_SIZE; 123.195.61.174 01/19 22:24
9F:→ WPC001:[.cpp] int BUFFER_SIZE = 10000; 123.195.61.174 01/19 22:25
10F:→ sorryChen:感謝 問了笨問題 其實就是問大家const 128.125.87.33 01/20 16:16
11F:→ sorryChen:都定意在集中的header再用extern引用 128.125.87.33 01/20 16:17