在Dev C的类构造函数中初始化字符串数组
Initialize array of strings in Dev C inside of class constructor
我在尝试初始化字符串数组时遇到困难。我正在使用一个具有不同方法的类:一个旨在为数组充电,另一个旨在消除数组的元素等等……我需要在类中的每个方法中使用相同的数组。
事情是,我需要做一个数组(队列)的模拟,并显示其元素,因为他们被添加到或从队列中删除,我有问题,试图初始化数组显示什么,而不是随机字符。
这是我要做的代码…
class Queue
{
public:
char array[3][6]; //array of 3 positions holding up to 6 characters each
int front, rear, max;
Queue()
{
front=0;
rear=0;
max=3;
array={"","",""}; //trying to initialize to blank spaces, here's the issue!
}
void add_element()
{ }
void delete_element()
{ }
void print_on_screen()
{ }
};
main()
{ }
我通过使用一维字符数组使其工作,为3个位置中的每一个输入一个数字,但实际上需要它与多个字符一起工作。
char array[3][6]
是一个包含字符的二维数组。这个
array={"","",""};
试图初始化一个尺寸为3的一维字符串数组。
´a´
和"a"
是不同的东西。第一个是char。第二个是字符串。
如果你想将char数组初始化为特定的东西,那么你可以这样做
char array[3][3] = {{'a',' ','a'}, {'a','a','a'},{'a','a','a'}};
// ^^^
// blank space
但是请记住,将char初始化为空白与将int初始化为0是不同的。0是int的默认值。这就是为什么在构造某些东西时通常将整型初始化为0的原因。表示它们仍然具有默认值。
我认为你应该把它初始化为0。这样的。
{
front=0;
rear=0;
max=3;
array[3][6] = {{0}};
// ^^^^
}
最后""
不是空格。这个是" "
相关文章:
- 有没有办法在初始化字符串时避免来自 clang-tidy(fuchsia-default-arguments)的警告?
- 如何在 c++ 中初始化字符串的 2D 数组
- 在 C++ 中初始化字符串重要吗?
- 为什么我不能使用统一初始化初始化来初始化字符串?
- 使用大长度缓冲区初始化字符串流是否会使内存使用量加倍
- 在现代C++中初始化字符串的方式是否有不同
- 初始化字符串 c++ 数组中的值
- 初始化 c 字符串的向量
- 在 do-while 循环中初始化字符串将在检查条件之前跳转到它
- 初始化C++字符串向量的向量
- 初始化字符串矢量阵列时的错误
- 如何初始化字符串以包含C 中所需数量的数字数量
- C 在代码中初始化字符串变量时无控制台输出
- 初始化字符串时,额外的卷曲牙套
- 为什么我不能用"\x"初始化字符串
- 如何在C++中最好地初始化字符串向量
- 从二维数组中的char*初始化c++字符串时,读取大小为1的无效值
- C++初始化字符串数组
- 如何在C++中初始化字符串集
- 如何初始化字符串指针