Я работал над программой в Netbeans в Linux, используя компилятор gcc, когда при переходе на Visual C++ в Windows 7 код не удалось скомпилировать, так как Visual C++ говорит об этом expected constant expression
на нескольких строках. На Netbeans, я просто сделал что-то похожее на char name[fullName.size()];
, в то время как на Visual C++, я пытался, среди прочего,Создание массива с константой
const int position = fullName.size();
char Name[position];
Как я могу создать константу использовать для массива?
Примечание: Я знаю о this question, но есть ли способ получить эту работу без использования векторов, поскольку для этого потребуется переписать многие части программы?
Фактический вопрос здесь: «Как создать массив из не заданного размера в стеке?» И ответ: вы не можете в VC++. –
Что такое fullname.size()? выглядит как вызов функции, который был бы вызовом во время выполнения и, следовательно, не постоянным выражением. –
fullname.size() - длина строки. Это вызов функции – wrongusername