У меня есть структура с массивом символов и конструктор, который инициализирует массив с определенной строкой. Я хочу избежать #define
и вместо этого передать строчку C++ в конструктор. Но опять же, размер массива char неизвестен во время компиляции. Что было бы хорошим подходом к этому?Инициализировать структуру, имеющую элемент массива char со строкой динамической длины
#define STRING_ "myString"
struct myStruct {
int nCode;
char str1[sizeof(STRING_)];
myStruct()
{
nLangCode = 0x0409;
strcpy(str1, STRING_);
}
} ;
Когда вы не знаете размер во время компиляции, вам необходимо вручную выделить хранилище, как только вы знаете размер во время выполнения. –