Я хочу создать класс, но я не уверен, правильно ли объявляю массив в классе.C++ Array Declaration в заголовке
my header file
#ifndef SOMECLASS_H
#define SOMECLASS_H
#include <string>
class MyClass {
public:
MyClass();
~MyClass();
private:
std:string myStringArray[];
int myIntegerArray[];
};
#endif SOMECLASS_H
мой класс файла
#include "someClass.h"
MyClass::MyClass() {
std::string myStringArray[] = {"Option1","Option2",
"Option3","Option4"};
int myIntegerArray[] = {1,2,3,4};
}
Но это не похоже на работу ... Я хочу, чтобы инициализировать массив при создании класса. Может кто-нибудь, пожалуйста, объясните мне, что я делаю неправильно. Спасибо.
Если вы не знаете на compile- времени (которое вы, похоже, делаете) вам может понадобиться ['std :: vector'] (http://en.cppreference.com/w/cpp/container/vector). В противном случае читаем о ['std :: array'] (http://en.cppreference.com/w/cpp/container/array). Вы также хотите прочитать информацию о [членах инициализационных списков] (http://en.cppreference.com/w/cpp/language/initializer_list). –