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

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

Войти
Регистрация
Восстановить пароль
 
kravam
быдлокодер
1695 / 882 / 45
Регистрация: 04.06.2008
Сообщений: 5,459
#1

Почему при применении оператора = меняется правый операнд? - C++

27.03.2013, 14:13. Просмотров 343. Ответов 8
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
 
int main () {
  int*p;
  int array [5];
  array [5]= 100;
  printf ("%d\n", array [5]);
  p= array;
  printf ("%d\n", array [5]);
  getchar ();
  return 0;
}
Обращаю внимание- даже типов приводить не понадобилось!
Вывод:
Bash
1
2
100
2293560
Как вам это нравится?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.03.2013, 14:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Почему при применении оператора = меняется правый операнд? (C++):

Не найден оператор, принимающий правый операнд - C++
Если этот вопрос обсуждался направите меня пожалуйста! #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; ...

Не найден оператор, принимающий правый операнд - C++
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; int main() { int x=5; int y=7; std::cout &lt;&lt; endl ; ...

Ошибка в коде. не найден оператор, принимающий правый операнд типа 'int' - C++
Доброго времени суток. Не понимат что за ошибка: error C2679: бинарный '&gt;': не найден оператор, принимающий правый операнд типа 'int' (или...

Ошибка C2679: бинарный '=': не найден оператор, принимающий правый операнд типа 'double' - C++
// ConsoleApplication2.cpp : Defines the entry point for the console application. // #include &quot;stdafx.h&quot; #include &quot;math.h&quot; ...

Error C2679: бинарный "=": не найден оператор, принимающий правый операнд - C++
Ошибка 1 error C2679: бинарный &quot;=&quot;: не найден оператор, принимающий правый операнд типа &quot;std::basic_string&lt;_Elem,_Traits,_Alloc&gt;&quot; (или...

Error C2679: бинарный ">>": не найден оператор, принимающий правый операнд - C++
перелопатил кучу форумов, кругом одно и то же - якобы вставь библиотеку и будет счастье. раньше работало нормально. могут ли сторонние...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
eocron
Кактус
66 / 66 / 6
Регистрация: 23.05.2012
Сообщений: 343
27.03.2013, 14:24 #2
Скомпилировал. Все работает. Проблема в компиляторе, скорее всего.
0
kravam
быдлокодер
1695 / 882 / 45
Регистрация: 04.06.2008
Сообщений: 5,459
27.03.2013, 14:26  [ТС] #3
g++ 4.6.2
Оно начинает работать правильно, если начать оптимизировать -O..., но мне-то от этого не легче. Оно и безо всякой оптимизации должно выдавать правильный результат!
0
Kastaneda
Форумчанин
Эксперт С++
4653 / 2862 / 228
Регистрация: 12.12.2009
Сообщений: 7,271
Записей в блоге: 2
Завершенные тесты: 1
27.03.2013, 14:37 #4
Цитата Сообщение от kravam Посмотреть сообщение
Оно и безо всякой оптимизации должно выдавать правильный результат!
Конечно должно, в правильном коде. Ты ж стек затираешь, а там хз что может случится, отсюда и хрень на выходе.
1
Tulosba
:)
Эксперт С++
4396 / 3239 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
27.03.2013, 14:37 #5
kravam, Вы пишете за пределами массива, а это ни к чему хорошему не приводит
1
Tmin100
6 / 6 / 0
Регистрация: 12.10.2012
Сообщений: 71
27.03.2013, 14:44 #6
Я немного не понимаю, почему создавая массив на 5 элементов, вы записываете что-то в шестой?
C++
1
2
int array [5];
  array [5]= 100;
0
kravam
быдлокодер
1695 / 882 / 45
Регистрация: 04.06.2008
Сообщений: 5,459
27.03.2013, 14:45  [ТС] #7
Чё-то я уже совсем стал, на какой-то фигне прокалываюсь.
0
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,925
Записей в блоге: 1
27.03.2013, 15:09 #8
оператор = тут ни пр чём
массив индексируется от 0 до 4
0
ITcrusader
27.03.2013, 16:17     Почему при применении оператора = меняется правый операнд?
  #9

Не по теме:

Тут отражение свое находит мудрость народная:
Чтобы познать границы массива - нужно выйти за его границы

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.03.2013, 16:17
Привет! Вот еще темы с ответами:

Error C2679: бинарный "=": не найден оператор, принимающий правый операнд типа - C++
Сразу скажу что в с++ полный ноль. Но есть потребность решить такую вот задачу: Нужно собрать систему распознавания и слежения за лицами...

Ошибка : бинарный "<<": не найден оператор, принимающий правый операнд типа point - C++
В задаче нужно найти две наиболее удаленные друг от друга очки. выдает следующую ошибку: error C2679: бинарный &quot;&lt;&lt;&quot;: не найден оператор,...

Написать программу которая при нажатии клавиш:правый Shift+ правый Alt блокировала бы клавишу 9 на клавиатуре. - C++
Добрый день Необходимо написать программу которая при нажатии клавиш:правый Shift+ правый Alt блокировалась бы клавиша 9 на клавиатуре.

Конструкторы, приведение типа и ошибка "Не найден оператор, принимающий правый операнд типа 'char *'" - C++
#include &lt;stdio.h&gt; class A { int somemember; public: A(){printf(&quot;A()\n&quot;);} A(char*){printf(&quot;A(char*)\n&quot;);} ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
27.03.2013, 16:17
Ответ Создать тему
Опции темы

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