如何检查typedef起的别名 再开一贴问吧
请问如何检查某个名字是否被定义过了?
例如:
typedef int u8;
检查 u8 是否有效,这个typedef可能在别的地方定义过了,也可能没被定义,保证可移植性!
注:是在source code未知的情况下做这样的检测。
例如检测有个 名字 有可能在C库里定义了,但只是可能,例如不同的uclibc, bionic c等等,如果没被定义,会编译报错,所以需要预先检测是否被定义了
[解决办法]
没有办法,这样就只能凭自己的记忆,或者好的命名规则
[解决办法]
编译一下出错又如何?
不然你就在使用到u8的地方就typedef int u8
或者自己写个头文件里面typedef int u8 使用到的都包含这个文件
反正重复typedef int u8 也不会出现问题
[解决办法]
“这个typedef可能在别的地方定义过了,也可能没被定义,保证可移植性!”
你这个问题就好像我不知道我定义了test()函数了没有
但是我非得用
但是你的问题比test()好在重复typedef不会重定义 前提是typedef u8为同一类型
[解决办法]
C、C++没有提供,或者说忘了提供检测typedef的方法、机制。
在某些编译器下可以用#ifdef XXX来检测,但是不具有可移植性。
编译错下又如何,那么多开源软件都这么过来的。