一条语句pmsg = malloc (cLinesMax * sizeof (MSG)) ;
为什么在.cpp文件中编译不通过,错误提示:cannot convert from void * to struct tagMSG *
而在.c文件中能通过!这是什么原因啊!难道说c++的编译器还不如c的编译器吗?
c++的编译器对语法要求严格,
你必须强制转换,
你没有在c++的语法书上看到关于c++编译的介绍?
agree,
对类型的严格要求正是c++比C优秀的地方之一。
强制转换语法:
static_cast<Type>( Obj )
Type可以是任意类型名,
c++一般认为类型转换是危险的,因为会带来想象不到的错误。