C 错误:在初始化中无法将“ char(*)[63]”转换为“ char*”
C++ error: cannot convert ‘char (*)[63]’ to ‘char*’ in initialization
我似乎比我最初想象的更像是noob。就我对C/C 的了解而言,这应该起作用。我定义一个字符数组,然后尝试将指针分配给开始...我在做什么错?
// Create character array
char str[] = "t xtd 02 1CF00400 08 11 22 33 44 55 66 77 88 0 0 1234.567890";
// Assign pointer to beginning of array
char* p = &str;
str
的类型是char[63]
。对于参考,请注意,字符串本身的类型是const char[63]
,而不是const char *
。您可以使用该地址,这为您提供了char[63]
或char (*)[63]
的指针。然后,您尝试将其分配给char *
。
您应该做的不是接地址,然后将数组腐烂成指针:
char *p = str;
不过,您应该真正做的是使用std::string
。
您只需省略地址运算符,
char *p = str;
有效,数组会在此上下文中自动腐烂到指针到第一个元素。或者,如果您愿意,明确施放,但这将是可憎的。
char* p = str;
&and and and是多余的。一个普通的数组名称仅表示其开始的地址。
相关文章:
- 在没有定义返回类型的函数中返回布尔值,并将结果保存在无错误的char编译中-为什么
- strncpy之后的char数组的错误行为
- C++错误:初始值设定项过多,无法'char[26]'
- 需要帮助在 c++ 中将字符串转换为字符 ----错误 "const char *" 类型的值不能用于初始化 "char" 类型的实体
- 使用 char* 存储数据和产生的错误
- 为什么将指针重新分配给 1D 数组的 char 时显示错误,但 2D 数组工作正常?
- JavaCPP 错误:无法将参数"1"的"char*"转换为"Abc*
- C++错误:无法将参数 2 从 'char' 隐蔽到 char[]'
- 如何摆脱C++中未解析的外部符号"private: static char"错误?
- 使用外部变量会导致"unsigned char"错误LNK2001
- 如何修复C++中的'cannot convert char to char*'错误?
- 转换LPVOID IN CHAR错误C2440:=
- 将字符串传递给函数时出现"conversion to const char*"错误
- 创建新文件时std::string to const char*错误
- Fopen在c++中获取char *错误
- c++将整数复制到char[]或unsigned char[]错误
- 从"const char*"到"char"错误的无效转换
- 不推荐从字符串常量转换为char*错误
- 将所有nsdata字节复制到char*错误中
- 初始化"int strcmpi(const char*, const char*)"错误的参数 1