2007-08-24

重复定义。。。

今天有人问我他某个头文件中定义的一个函数在编译的时候总是出现“重复定义”的提示,我也有直接在头文件中定义函数体的情况但从未遇到过那种提示啊~~,当时想了半天。。。未果。。。后来吃饭的时候才突然想到,一定是他在多个源文件中include了那个头文件,而那个头文件没有使用如下预编译宏:

#ifndef _XXX_H_
#define _XXX_H_

...

#endif //_XXX_H_


我每次写头文件时都会习惯性的首先添加上述宏,已经成为一种下意识的习惯了,所以当时一时间没有考虑到这种情况。
我还真是的……养成这种良好的习惯后竟然会在考虑问题时自然而然的首先忽略掉这种情况。。。
//EOF

0 comments: