我在尝试初始化字符串数组时遇到了困难。我正在使用一个具有不同方法的类:一个用于为数组充电,另一个用于消除数组的元素等等......我需要在类中的每个方法中使用相同的数组。
问题是我需要对数组(队列)进行模拟,并在队列中添加或删除时显示其元素。我在尝试初始化数组时不会显示任何内容而不是随机字符
以下是我要做的代码...
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()
{ }
我通过使用一维char数组使其工作,为3个位置中的每一个输入单个数字,但实际上需要它使用多个char。
答案 0 :(得分:0)
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的原因。表示他们仍然具有默认值。
我认为你应该把它初始化为零。像这样。
{
front=0;
rear=0;
max=3;
array[3][6] = {{0}};
// ^^^^
}
最后""
不是空格。这个是" "