Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++/CLI
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
frutty
1 / 1 / 5
Регистрация: 11.05.2013
Сообщений: 33
1

Ошибка при присвоении переменной класса String^

30.03.2015, 14:49. Просмотров 1068. Ответов 5
Метки нет (Все метки)

Добрый день. Имеется переменная
C++
1
String^ new_chislo;
и переменная
C++
1
String^ stroka = "0123456789ABCDEF";
проходя по циклу необходимо выполнять присвоение:
C++
1
new_chislo[i] = stroka[j];
На что студия выдает до компиляции: IntelliSense: property "System::String::default" (declared in "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\mscorlib.dll") has no 'set' accessor c:\VKR_2\Project1\Level_1.h 248
Объясните пожалуйста что я делаю не так?

Добавлено через 15 минут
Да забыл, код пишется на Visual Studio 2013 в режиме WinForm
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.03.2015, 14:49
Ответы с готовыми решениями:

Ошибки компиляции при создании переменной типа String^ в собственном классе
ref class UtilCallOptions { private: String^ currentPath; }; приводит к:...

При присвоении переменной textBox - ошибка
К примеру private: System::Void textBox1_TextChanged_1(System::Object^ sender, System::EventArgs^...

Ошибка при присвоении argv[1] переменной string. Как конвертировать к типу string?
"call of an object of a class type without appropriate operator() or conversion functions to...

Ошибка при присвоении переменной класса
Доброго времени суток, уважаемые программисты. Такая ситуация: имеется два класса using...

Ошибка при присвоении числа переменной
Доброго времени суток. На днях дали задание написать алгоритм RSA. Вроде бы он легкий и понятный и...

5
tezaurismosis
Администратор
Эксперт .NET
8718 / 4003 / 734
Регистрация: 17.04.2012
Сообщений: 8,783
Записей в блоге: 14
30.03.2015, 18:38 2
Цитата Сообщение от frutty Посмотреть сообщение
property "System::String::default" (declared in "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\mscorlib.dll") has no 'set' accessor
Какая хитрая формулировка ошибки
Причина в том, что отдельные символы с строке изменять нельзя, одной из причин этого является неизменяемость строк. Если хотите строку, у которой можно поменять любой символ, обрезать, сшить и т.д. без пересоздания строки, используйте StringBuilder. Ну или опишите ваше изначальное задание.
1
S_el
2311 / 1738 / 369
Регистрация: 15.12.2013
Сообщений: 7,021
30.03.2015, 18:50 3
Лучший ответ Сообщение было отмечено tezaurismosis как решение

Решение

Цитата Сообщение от frutty Посмотреть сообщение
Объясните пожалуйста что я делаю не так?
[] <- обращение к массиву или элементу,операция индексации память не выделяет.
1
frutty
1 / 1 / 5
Регистрация: 11.05.2013
Сообщений: 33
30.03.2015, 20:06  [ТС] 4
Изначально строка должна быть пустой...напишите пожалуйста как правильно записать в нее элементы посимвольно?
0
tezaurismosis
Администратор
Эксперт .NET
8718 / 4003 / 734
Регистрация: 17.04.2012
Сообщений: 8,783
Записей в блоге: 14
30.03.2015, 20:52 5
Лучший ответ Сообщение было отмечено tezaurismosis как решение

Решение

Цитата Сообщение от frutty Посмотреть сообщение
как правильно записать в нее элементы посимвольно?
Для управляемых строк так не делают, достаточно будет просто присвоить одну переменную другой
C++
1
new_chislo = stroka;
Если по заданию необходимо посимвольно, то простейший вариант таков:
C++
1
2
3
4
5
6
7
String^ stroka = "0123456789ABCDEF";
String^ new_chislo = String::Empty;
 
for each (Char symbol in stroka)
    new_chislo += symbol;
 
Console::WriteLine(new_chislo);
1
frutty
1 / 1 / 5
Регистрация: 11.05.2013
Сообщений: 33
31.03.2015, 09:58  [ТС] 6
Всем спасибо, все оказалось на много проще.
C++
1
new_chislo += stroka[j];
0
31.03.2015, 09:58
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.03.2015, 09:58

Ошибка при присвоении значения Range к переменной
Пытаюсь создать массив в котором будут размещены все непустые строки из диапазона А2:102. Sub...

Странная ошибка при присвоении типа переменной
Странные вещи происходят: пишу Dim SheetsA As Excel.Sheets Set SheetsA =...

Ошибка при присвоении переменной значения ячейки массива
Ошибку error C2106: '=' : left operand must be l-value выдает на строчке: if (mas!=-1 &amp;&amp; mas!=-1...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.