在 simple_gatt_profile.c 这个文件里,代码使用memcpy时,为什么前面要加上VOID(即(void)), VOID memcpy( pValue, pAttr->pValue, SIMPLEPROFILE_CHAR5_LEN );这么做有什么好处吗,求大神帮忙解答。拜谢!
Susan Yang:
在1989 standard时添加了void,在此之前最接近通用类型的是char。
若是如果memcpy仍然使用char *参数,当您在非char数组的目标上调用memcpy,则必须显式指定指针值。在以前的编译器中没有检查函数的参数的类型是否符合定义,但现在的编译器有检查。
haibin li1:
回复 Susan Yang:
Susan Yang
在1989 standard时添加了void,在此之前最接近通用类型的是char。
若是如果memcpy仍然使用char *参数,当您在非char数组的目标上调用memcpy,则必须显式指定指针值。在以前的编译器中没有检查函数的参数的类型是否符合定义,但现在的编译器有检查。