字符* 数组出现问题
Having trouble with char* arrays
private:
char * args[];
public:
Command(char * a[]){args = a}
尝试运行此代码时,我得到
将
char**
分配给char* [0]
时不兼容的类型
我真的很难理解发生了什么。
首先,char * args[];
是不正确的。在标准C++数组在定义时必须具有指定的大小。(明显的)例外是当您编写类似 int arr[] = {1,2,3,4,5};
的东西时,但是在这种情况下,编译器会自动将大小设置为 5,因为它在编译时确定大小。
其次,不能复制数组。在您的函数中
Command(char * a[]){args = a}
a
衰变成char**
.然后你尝试分配给args
,这是一个数组,一个类型为 char**
的指针。这是行不通的。不能分配给数组。
如果您分配/复制数组,最好的办法是使用标准容器,例如 std::vector
。
声明char * args[]
表示指向非const
char
的指针数组。这是无效代码。标准C++不允许将未知绑定数组作为数据成员。
原始数组不可分配,因此构造函数主体中的赋值也是无效代码。
相关文章:
- cpp二进制搜索问题,计算给定数组中输入元素的出现次数
- 输入std::数组时出现问题
- 类对象数组的问题会导致崩溃
- 传递二维数组时出现问题
- 从 C++ 中的函数返回数组地址问题
- 使用数组时出现问题
- 打印问题.我在数组中打印值时遇到一些问题
- C++:__aligned(__alignof__) 导致字符数组数据出现问题?
- 将字节数组转换为带有字节序问题的指针
- C++ 填充数组时遇到问题
- 遇到此问题时遇到困难:允许用户输入数组的值并使用 for,而循环也输出输入的最大数字
- 这是使用回溯的 nqueen 问题,但我使用了动态 2d 数组,我的程序编译良好,但不返回任何输出
- 当我尝试通过 arduino 上的引用传递布尔数组时出现问题
- 我正在尝试解决一个需要数组总和值但代码不起作用的问题,我想做这样的事情
- 编写 cin.get() 以接收字符数组时出现问题
- 在 C++ Consol 中的数组中执行用户命令时出现问题
- 存储另一个函数返回的布尔数组时遇到问题
- 当我在 CLion 中读取数组中的 txt 文件时C++编码问题
- 运行时C++数组初始化问题
- 我在解决此错误时遇到问题.我正在努力在主函数中传递数组