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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Spirited
7 / 7 / 0
Регистрация: 18.01.2009
Сообщений: 55
#1

Объясните ошибку! - C++

07.06.2012, 11:58. Просмотров 291. Ответов 2
Метки нет (Все метки)

Здравствуйте, господа форумчане!

Предлагаю вашему вниманию фрагмент кода, который компилируется в Builder'е (винда), но g++ его не пропускает (под линухом) пишет 12: error: lvalue required as increment operand.

Мой вопрос заключается в том как изменить код, чтобы g++ его пропустил и почему ему такой вариант не нравиться?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
  1 #include <iostream>
  2 #include <string.h>
  3 
  4 using namespace std;
  5 
  6 int main() {
  7         char arch[11] = "0123456789";
  8         int k = strlen(arch) + 1;
  9         char *newar = new char[k];
 10 
 11         for ( int i = 0; i < k; ) {
 12                 newar[i++] = *arch++;
 13                 
 14                 if ( !(i % 3) )
 15                         cout << "\narch = " << arch;
 16         }
 17 
 18         cout << "\nk = " << k << "  newar = " << newar;
 19         
 20         cout << "\nsizeof(arch) = " << sizeof(arch) << endl << endl;
 21         
 22         return 0;
 23 }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2012, 11:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Объясните ошибку! (C++):

Объясните ошибку - C++
using namespace std; int main(){ setlocale(LC_ALL, &quot;Russian&quot;); system(&quot;color 0E&quot;); srand(time(NULL)); cout &lt;&lt;...

Объясните ошибку. (cout in iostream) - C++
//intvars.cpp // работа с переменными целого типа #include &lt;iostrem&gt; using namespace std; int main() { int var1; ...

Объясните ошибку Unresolved external - C++
#include &lt;iostream.h&gt; #include &lt;iomanip.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; class Hex { unsigned char hex; unsigned...

Объясните ошибку новичку в работе со строкой - C++
#include &quot;stdafx.h&quot; #include &lt;stdlib.h&gt; #include &lt;iostream&gt; void my_strdel( char *s, int p, int k) { int l = strlen(s); ...

Полиндром: найдите ошибку в коде рекурсии и объясните - C++
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; bool palindrome(string *m, int i, int j) { if( i==j || i&gt;j) ...

Объясните функцию классы в С++ и укажите мою ошибку. - C++
Изучаю классы в языке C++, написав несколько строк кода для вывода числа. не могу понять и исправить ошибку, вот код: #include&lt;iostream&gt; ...

2
never old
8 / 8 / 1
Регистрация: 02.06.2012
Сообщений: 25
07.06.2012, 12:27 #2
arch не объявлялся в качестве указателя
C++
1
2
        char *arch = new char[11];
        arch = "0123456789";
Так пропустит, но уже sizeof(arch) будет всегда 4
1
Spirited
7 / 7 / 0
Регистрация: 18.01.2009
Сообщений: 55
07.06.2012, 12:44  [ТС] #3
Спасибо разобрался.
можно еще и так без выделения памяти под arch

C++
1
2
3
        const char *arch = "0123456789";
        int k = strlen(arch) + 1;
        char *newar = new char[k];
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.06.2012, 12:44
Привет! Вот еще темы с ответами:

Слишком много символов в константе - объясните ошибку - C++
Задание: Определённые культуры растений на 3-х полях, определить культуры на каждом поле, показать какие культуры растут хотя бы на одном...

Объясните, как исправить ошибку invalid operands of types 'double' and 'const char [2]' to binary 'operator - - C++
#include &lt;stdio.h&gt; #include &lt;math.h&gt; #include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; int main () { double...

Подскажите как исправить ошибку. прога ломается на 79 строке. а ошибку не выдает - C++
#include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; using namespace std; int chisla(int a,int b) { ...

Найти ошибку в программе: в visual studio выдает ошибку - C++
#include &lt;math.h&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; using namespace std; int main() { double x, E, ypred, y, S; ...


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

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

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