c – 奇怪的char *编译错误?
发布时间:2020-12-16 06:49:27 所属栏目:百科 来源:网络整理
导读:我的代码下面有什么问题吗?我得到了编译错误! typedef unsigned char BYTE;void foo(char* p){ return;}int main(){ BYTE * buffer; // error C2664: 'foo' : cannot convert parameter 1 from 'char *' to 'char *' foo ((char*)buffer); return 0;} 提前
我的代码下面有什么问题吗?我得到了编译错误!
typedef unsigned char BYTE; void foo(char* & p) { return; } int main() { BYTE * buffer; // error C2664: 'foo' : cannot convert parameter 1 from 'char *' to 'char *&' foo ((char*)buffer); return 0; } 提前致谢, 解决方法
将BYTE *转换为char *时,将使用char *类型创建未命名的临时实体.您调用的函数接受char *的引用,但您不能引用这样的临时实体,因为它不是真正的变量.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |