typedef类型检查?

时间:2011-02-23 18:02:43

标签: c++ types typedef

如何让g ++对typedef进行类型检查?可能吗?即。

typedef int T1;
typedef int T2;

T1 x = 5;     //Ok with me
T2 y = x;     //Any way to get an error or a warning here?

我不能使用C ++ 0x功能(我不知道他们是否可以这样做。)

编辑:我想要的是这样的:

typedef int BallID;
typedef int BatID;

BatID x = 10;
map<BatID, Bat*> m;
m.insert(make_pair(x, bigbat));        //OK
BallID y = 15;
m.insert(make_pair(y, smallbat));     //Give me a warning at least plz

这太难问了吗?

3 个答案:

答案 0 :(得分:8)

答案 1 :(得分:2)

扩展Nawaz的答案:当你typedef A B时,B只是A别名,而不是单独的类型。 <{1}}和x在你的例子中只是y

如果要创建新类型,请使用一个成员int

答案 2 :(得分:1)

只要T1T2是相同类型的typedef,就不会收到任何警告!