Вниз  C / C++
- 9.09.2014 / 18:43
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Online
Naik, double пробуй, а не float.
Да, в NB с Си сложновато. Могу Code::Blocks посоветовать.
__________________
 let live

Изменено aNNiMON (9.09 / 18:44) (всего 1 раз)
- 9.09.2014 / 20:08
Naik
  Пользователь

Naik 
Сейчас: Offline
aNNiMON, ошибка из-за того, что компилятор не знает где реализация math http://stackoverflow.com/quest...nce-to-pow-and-floor Только исправить не получилось.
- 9.09.2014 / 20:48
Naik
  Пользователь

Naik 
Сейчас: Offline
Все скомпилилось, запустилось, работает, но почему терминалу пофиг на scanf, т.е. можно вводить все что угодно
- 9.09.2014 / 20:57
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Online
Naik, это нормально.

:ps: Теперь понимаешь, за что я так ненавижу C++? :-D
__________________
 let live

Изменено aNNiMON (9.09 / 20:58) (всего 1 раз)
- 12.09.2014 / 16:56
Naik
  Пользователь

Naik 
Сейчас: Offline
В чем разница? И как правильно?
1:
  1. int var = 0;
  2. func(&var);
  3.  
  4. void func(int *p) {
  5.     (*p)++;
  6. }
2:
  1. int var = 0;
  2. func(var);
  3.  
  4. void func(int& p) {
  5.     p++;
  6. }


Изменено Naik (12.09 / 16:57) (всего 2 раза)
- 12.09.2014 / 17:10
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Online
Naik, аксиома Эскобара.

В первом значение изменяется по ссылке с помощью указателей. В func передаётся не значение, а ссылка на ячейку переменной var в памяти. Затем внутри метода указатель на переменную разыменовывается и увеличивается уже значение.

Во втором та же передача по ссылке, только уже без указателя. То есть p не локальная переменная, как в Java, а ссылка, и значит изменяя p, будет изменяться var. Вот только я не уверен насчёт вызова функции, по-моему там тоже надо func(&var).
__________________
 let live

Изменено aNNiMON (12.09 / 17:11) (всего 1 раз)
- 12.09.2014 / 18:19
Naik
  Пользователь

Naik 
Сейчас: Offline
aNNiMON, Не, работает и так.
- 18.09.2014 / 09:37
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Online
http://q.viva64.com/
Можно попрактиковать навык поиска ошибок в коде на C++
Есть объяснения ошибок по завершению вопроса, иногда очень полезно.
К тому же видно какой код у того или иного открытого проекта.
__________________
 let live
- 19.09.2014 / 20:53
Naik
  Пользователь

Naik 
Сейчас: Offline
:killseva:
  1. int main() {
  2.     int a = 1;
  3.     func(a) = 5;
  4.     printf("%d", a);
  5.     return EXIT_SUCCESS;
  6. }
  7.  
  8. int& func(int& p) {
  9.     p++;
  10.     return p;
  11. }
угадайте что выведет :gg:

Изменено Naik (19.09 / 20:55) (всего 1 раз)
- 19.09.2014 / 20:57
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Online
Naik, ошибку, так как func должен быть до main (если ты не пользуешься хедерами)
__________________
 let live
Наверх  Всего сообщений: 2777
Фильтровать сообщения
Поиск по теме
Файлы топика (111)