[問題] 跨檔案 #define 的一個小問題
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
GCC
如題
node.h node.c
-- --
#include "node.h"
#define DATATYPE char
DATATYPE data;
node* getnode() {
struct nodetype { ...
DATATYPE info; ...
struct nodetype *next; }
} void freenode(node* pn) {
...
node* getnode(); ...
void freenode(node*); }
... ...
//EOF //EOF
============================================================================
queue.h queue.c
-- --
#include "node.h" #include "queue.h"
... DATATYPE remove() {
...
DATATYPE remove(); ...
}
...
//EOF //EOF
--
我想用linklist實現queue
因為我這次使用想放的資料是char
但是之後可能會希望他是int 這時我只要把DATATYPE char改成int 即可
所以我才會想這樣寫
之後要呼叫的時候在有main() 只#include "queue.h"
就能只用queue了
但是問題來了 就我這樣include下來
在"queue.c"裡無法知道DATATYPE到底是何方神聖
所以 DATATYPE remove() 會有 error
我想到的
法一 : 在queue.c 多一行#define DATATYPE char
但是我之後要改就要多改一個地方
法二 : 在queue.c 再#include "node.h" 一次
但是queue.h include一次 再include一次好像哪裡怪怪的
還有其他比較好的方法嗎?
小弟不才 希望大大能幫我解惑 <(_ _)>
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.230.84.78
※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1406136877.A.36E.html
推
07/24 01:57, , 1F
07/24 01:57, 1F
→
07/24 01:59, , 2F
07/24 01:59, 2F
→
07/24 01:59, , 3F
07/24 01:59, 3F
→
07/24 02:00, , 4F
07/24 02:00, 4F
→
07/24 02:20, , 5F
07/24 02:20, 5F
→
07/24 02:21, , 6F
07/24 02:21, 6F
→
07/24 02:23, , 7F
07/24 02:23, 7F
→
07/24 02:23, , 8F
07/24 02:23, 8F
→
07/24 02:38, , 9F
07/24 02:38, 9F
推
07/24 09:53, , 10F
07/24 09:53, 10F
→
07/24 09:54, , 11F
07/24 09:54, 11F
→
07/24 10:10, , 12F
07/24 10:10, 12F
→
07/24 10:12, , 13F
07/24 10:12, 13F
→
07/24 11:23, , 14F
07/24 11:23, 14F
→
07/24 11:23, , 15F
07/24 11:23, 15F
→
07/24 11:27, , 16F
07/24 11:27, 16F
其實我是gcc+emacs Elipse-cdt 都有用 ((但是Eclpise 是用gcc吧?
我寫這個是在Eclipse-cdt下 然後在queue.c會有Syntax error. 不給Complier
所以如果我不用Eclipse 直接gcc那些檔案會過嗎?
現在電腦不在身邊沒法測試
※ 編輯: qas612820704 (125.230.84.78), 07/25/2014 00:45:30
→
07/25 03:59, , 17F
07/25 03:59, 17F
→
07/25 04:00, , 18F
07/25 04:00, 18F
= =!!問題還真的不是出在DATATYPEGP身上 對不起我犯傻了
結果還真的是有地方少分號... 不過但是套出些關鍵字學到些東西 謝謝!
※ 編輯: qas612820704 (140.120.19.2), 07/25/2014 12:43:35
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章