Geo*_*ge2 3 c++ reference char
我的代码下面有什么问题吗?我得到了编译错误!
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;
}
Run Code Online (Sandbox Code Playgroud)
提前谢谢,乔治
您可以执行reinterpret_cast<char*&>而不是静态强制转换
foo (reinterpret_cast<char*&>(buffer));
Run Code Online (Sandbox Code Playgroud)
或者,您可以使参数成为const引用:
void foo(char* const & p)
{
return;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
896 次 |
| 最近记录: |