为什么我在第31行的代码中有警告

Why I have warning in code in line 31

本文关键字:代码 警告 31行 为什么      更新时间:2023-10-16

你能告诉我该怎么做吗?我在第31行收到警告
"扩展初始值设定项列表仅适用于-std=c++11或-std=gnu++11[默认启用]"为什么?我应该在哪里申报dzis TAB?

#include <iostream>
using namespace std;
class Zbior_znakow
{
    int indeks;
    static const int MaxEl = 255;
    int licznik;
public:
    char Tablica[MaxEl];
    void zbior_dodaj(unsigned char c);
    int zbior_nalezy(unsigned char c);
    int zbior_licznosc();
    Zbior_znakow();
    int zbior_rozne();
};
void Zbior_znakow::zbior_dodaj(unsigned char c)
{
    indeks = 0;
    Tablica[indeks]=c;
    indeks++;
}
Zbior_znakow::Zbior_znakow()
{
    for(int i=0 ;i<MaxEl;i++)
        Tablica [i]= {'0'};
}

Tablica[i]的类型是char-not-list,所以它的赋值应该是这样的:

Tablica [i]= '0';

如果使用初始化列表语法将元素添加到char的数组中,则可以更改此

for(int i=0 ;i<MaxEl;i++)
    Tablica [i]= {'0'};

到此

for(int i=0 ;i<MaxEl;i++)
    Tablica [i]= '0';

不确定为什么要这样,因为它表示您只想将值初始化为0

试试这个:

for(int i=0 ;i<MaxEl;i++)
    Tablica [i]= '0'; //Don't need the { }
相关文章: