Массив ошибок используется как инициализатор, и я не знаю ошибку

0

Ошибка в конструкторе класса manejo.cpp, ошибка "manejo.cpp: 3: 16: error: array используется как инициализатор", и я не знаю, где эта ошибка.

к down прилагается исходный код класса manejo.hpp и реализация manejo.cpp, спасибо

#include "manejo.hpp"

manejo::manejo(){}
manejo::~manejo(){}

Hpp

#ifndef __MANEJO_HPP
#define _MANEJO_HPP

#include <iostream>
#include <fstream>
#include <vector>
#include <string>

using namespace std;
using std::vector;
using std::string;

class manejo{

private:

     char cadena[128]="";
     vector <string> linea;
     long cantidadPD = 0;
     vector <string> palabras;
     int Creglas = 0;
     vector <string> reglas;
     long atoi(const char *str);


public:

     manejo();
     ~manejo();
     void EstablecerVariables();
     int StoInt (string numero);

};

#endif 
Теги:

1 ответ

5
Лучший ответ

Эта

 char cadena[128]="";

не является законным в традиционном C++ (это законно в C++ 11, но, очевидно, вы не используете его, потому что иначе вы не получите эту ошибку). Delete ="", инициализировать элементы данных в вашем конструкторе, а не в вашем классе. Например

manejo::manejo()
{
    cadena[0] = '\0';
    ...
}
  • 0
    Инициализация в классе является законной начиная с C ++ 11.
  • 0
    @Nawaz Очевидно, что OP не использует C ++ 11, если он получает ошибку ...
Показать ещё 8 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню