Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/64: Рейтинг темы: голосов - 64, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 16.03.2018
Сообщений: 52

E0028 Выражение должно иметь константное значение

08.05.2019, 23:22. Показов 13001. Ответов 3

Студворк — интернет-сервис помощи студентам
Здравствуйте! Пытаюсь из std:string сделать char. но возеникает ошибка, Выражение должно иметь константное значение(красным светиться "size31" в char result[size31]) Вот сам код:
C++
1
2
3
const int size31 = conn_addr.size() + 1;
char* result[size31];
strcpy(result, conn_addr123.c_str());
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.05.2019, 23:22
Ответы с готовыми решениями:

Error: Выражение должно иметь константное значение
struct SolderInfo { string rang; string name; int pn; }; using namespace std; int main() { int n;

Ошибка выражение должно иметь константное значение
Всем привет. Тут такая песня началась забавная. Вообще для начала я хочу выделить очень важную для меня строку - никакого решения...

Ошибка: выражение должно иметь константное значение
#include <iostream> #include <stdio.h> #include <stdlib.h> #include <time.h> using namespace std; int main() { ...

3
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
09.05.2019, 00:01
Цитата Сообщение от KirillConsolelr Посмотреть сообщение
std:string сделать char.
это невозможно, char хранит только 1 символ
Цитата Сообщение от KirillConsolelr Посмотреть сообщение
Выражение должно иметь константное значение
всё верно - надо исправить на заведомо известное значение размера.(и ещё убрать указатель)
C++
1
2
3
const int size31 = 31;
char result[size31];
strcpy(result, conn_addr123.c_str());
а ты как думал? Во всех примерах для Си массивы объявляются фиксированного размера потому что это так нравится авторам? Да нет конечно, но другого пути получить встроенный массив нет.
1
Mental handicap
 Аватар для Azazel-San
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
09.05.2019, 00:21
Цитата Сообщение от KirillConsolelr Посмотреть сообщение
Выражение должно иметь константное значение(красным светиться "size31" в char result[size31])
Проблема видимо из-за плохой локализации на русский язык, лучше верните английский, ибо там ошибка должна выглядеть иначе, там должна идити речь о том что функция size() объекта string не объявлена как константа времени компиляции, т.е. не constexpr.
Но это и понятно ибо это тогда не имело смысла, т.к. string это объект ран-тайма, а у нас размер массива уже должен быть известен во время компиляции, вобщем, на что вам и должна была указывать ошибка.
Цитата Сообщение от KirillConsolelr Посмотреть сообщение
Пытаюсь из std:string сделать char.
Что бы получить raw ptr на char из string достаточно вызвать c_str().

Добавлено через 1 минуту
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Во всех примерах для Си
А Си здесь не лучший пример.
1
зомбяк
 Аватар для TRam_
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
09.05.2019, 00:35
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
C++
1
strcpy(result, conn_addr123.c_str());
C++
1
2
3
char result[size31+1];
 result[size31]='\0';
strncpy(result, conn_addr123.c_str(), size31);
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.05.2019, 00:35
Помогаю со студенческими работами здесь

Выражение должно иметь константное значение (размер матрицы)
Ошибка в строке 12: Выражение должно иметь константное значение Что не так? как исправить? #include "pch.h" #include...

Выражение должно иметь константное значение. Нужно исправить
#include <iostream> using namespace std; int main(){ int count_string, count_column,sum; cout << "Input count...

Выражение должно иметь тип класса
Есть класс матрица, содержащий следующие поля: int rows, cols;//количество строк и столбцов vector <vector <float>>...

Выражение должно иметь тип указателя
что тут не так IClientEntity *player= I::EntList->GetClientEntity(I::Engine->GetLocalPlayer()); player->GetEyeAngles()->y =...

Выражение должно иметь тип указателя
#include "stdafx.h" #include <iostream> #include <conio.h> using namespace std; struct laiks { int h; int m; int s; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 19.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru