Форум программистов, компьютерный форум CyberForum.ru

в чем ошибка? - C++

Восстановить пароль Регистрация
 
MaGu
0 / 0 / 0
Регистрация: 07.04.2011
Сообщений: 29
08.07.2013, 14:25     в чем ошибка? #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
for (int i=1; i<=S.Length(); i++)
     {
      if ((S[i]=='-') && (S[i+1]=='-'))
        {
          S[i+1]='+';
          S[i]="";
        }
      else
      if ((S[i]=='+') && (S[i+1]=='+'))
        {
          S[i]="";
        }
      else
      if (((S[i]=='-') && (S[i+1]=='+')) || ((S[i]=='+') && (S[i+1]=='-')))
       {
        S[i]="";
        S[i+1]='-';
       }
 
     }
E2034 Cannot convert 'char *' to 'char'
что нужно сделать, чтобы при присвоении пустого значения не было ошибки?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.07.2013, 14:25     в чем ошибка?
Посмотрите здесь:

C++ в чем ошибка??
В чем ошибка?.. C++
в чем ошибка? C++
В чем ошибка? C++
В чем ошибка? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mokojumbot
a.i.
139 / 139 / 12
Регистрация: 09.11.2012
Сообщений: 906
08.07.2013, 14:28     в чем ошибка? #2
C
1
s[i]='';
Olivеr
 Аватар для Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
08.07.2013, 15:15     в чем ошибка? #3
Цитата Сообщение от MaGu Посмотреть сообщение
S[i]="";
вы пытаетесь присвоить символу указатель на пустую строку
можно сделать так
C++
1
S[i] = *"";
но это в результате даст непонятно что или пробел, то есть
C++
1
S[i] = ' ';
Цитата Сообщение от mokojumbot Посмотреть сообщение
s[i]='';
это не символ
MaGu, если S - это строка, то используйте
C++
1
S.erase(i, 1);
вместо
C++
1
S[i] = "";
mokojumbot
a.i.
139 / 139 / 12
Регистрация: 09.11.2012
Сообщений: 906
08.07.2013, 15:28     в чем ошибка? #4
Olivеr, а что это за строка такая s[i]
Olivеr
 Аватар для Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
08.07.2013, 15:30     в чем ошибка? #5
mokojumbot, в смысле? Я имел в виду, что '' - не символ.
mokojumbot
a.i.
139 / 139 / 12
Регистрация: 09.11.2012
Сообщений: 906
08.07.2013, 15:31     в чем ошибка? #6
Olivеr, а.. я не так понял вас.
MaGu
0 / 0 / 0
Регистрация: 07.04.2011
Сообщений: 29
08.07.2013, 19:27  [ТС]     в чем ошибка? #7
Цитата Сообщение от Olivеr Посмотреть сообщение
S.erase(i, 1);
а что делает эта операция?

строка S типа AnsiString

Добавлено через 2 минуты
Цитата Сообщение от Olivеr Посмотреть сообщение
S.erase(i, 1);
так тоже ошибка
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.07.2013, 19:33     в чем ошибка?
Еще ссылки по теме:

В чем ошибка? C++
ошибка в чем то C++
В чем ошибка? C++

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

Или воспользуйтесь поиском по форуму:
Olivеr
 Аватар для Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
08.07.2013, 19:33     в чем ошибка? #8
MaGu, открывайте документацию по типу AnsiString и ищите функция наподобие string::erase
http://www.cplusplus.com/reference/string/string/erase/
Yandex
Объявления
08.07.2013, 19:33     в чем ошибка?
Ответ Создать тему
Опции темы

Текущее время: 21:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru