加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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 *的引用,但您不能引用这样的临时实体,因为它不是真正的变量.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读