Hej
Nie mogę tego skompilować:
// Example program
#include <iostream>
#include <string>
#include <array>
class Klasa
{
private:
static const std::array< std::array<const std::string, 3>, 6> logDescArray
{{
{"A", "1", "saddsadsa"},
{"B", "1", "dsdsdsds"},
{"C", "sssa", "dsdsds"},
{"D", "sasa", "sss"},
{"E", "sas", "sss"},
{"F", "sa", "ffff"}}
};
};
const std::array< std::array<const std::string, 3>, 6>
Klasa::logDescArray;
int main()
{
std::cout << logDescArray.at(0).at(1);
return 0;
}
Nie ma natomiast problemu z kompilacją jak w pliku źródłowym sobie dam definicję i deklarację kontenera logDescArray poza klasą w stylu C, czyli na górze pliku deklarujemy zmienne statyczne które chcemy ukryć.
static const std::array< std::array<const std::string, 3>, 6> logDescArray =
{{
{"A", "1", "saddsadsa"},
{"B", "1", "dsdsdsds"},
{"C", "sssa", "dsdsds"},
{"D", "sasa", "sss"},
{"E", "sas", "sss"},
{"F", "sa", "ffff"}}
};