Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > C++

Ответ
 
Опции темы
Старый 26.09.2007, 21:48   #1
XenuS
Нуждающийся
 
Регистрация: 31.07.2007
Сообщений: 89
Написано одно полезное сообщение
Вопрос Беда с функциями

вот собсно код:
#include <iostream.h>

void Change(int *a, int b)
{
a=b;
}

void main()
{
int a=10;
cout << a << endl;
Change(&a, 17);
cout << a << endl;
}

мне надо, чтобы а меняла свое значение на, например, 17=)

так как в С++ при вызове функции создается копия всех переменных-параметров, то я создаю указатель, делаю ссылку и все ОК....
но вылазит такая ошибка:
--------------------Configuration: 123 - Win32 Debug--------------------
Compiling...
demo.cpp
F:\123\demo.cpp(5) : error C2440: '=' : cannot convert from 'int' to 'int *'
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
Error executing cl.exe.

123.exe - 1 error(s), 0 warning(s)


Как сделать работающий код, а то час сижу, ничего в голову не лезеь
т....я вижу, что проблема в указателях....а что дальше?
=)
(Offline)
 
Ответить с цитированием
Старый 26.09.2007, 22:06   #2
DarkKnight
Знающий
 
Регистрация: 09.11.2006
Сообщений: 256
Написано 2 полезных сообщений
(для 2 пользователей)
Re: Беда с функциями

Change(&a, 17);
у тебя же не указатель а переменная а ты получается берешь указатель.на сколько я знаю си++.надо писать так:
Change(a, 17);
и в самой функции тоже,и в прототипе.
или просто пиши new int a;(вроде так)тогда должно работать.
(Offline)
 
Ответить с цитированием
Старый 26.09.2007, 22:19   #3
XenuS
Нуждающийся
 
Регистрация: 31.07.2007
Сообщений: 89
Написано одно полезное сообщение
Re: Беда с функциями

все, я решил=)))
надо было так:
#include <iostream.h>

void Change(int& a, int b)
{
a=b;
}

void main()
{
int a=10;
cout << a << endl;
Change(a, 17);
cout << a << endl;
}


ЗЫ
не без твоей помощи+)
(Offline)
 
Ответить с цитированием
Старый 26.09.2007, 22:50   #4
alcoSHoLiK
Дэвелопер
 
Регистрация: 17.01.2006
Сообщений: 1,512
Написано 78 полезных сообщений
(для 110 пользователей)
Re: Беда с функциями

XenuS
Во втором случае ты просто передал ссылку. А с указателем у тебя ошибка в самой функции Change. Надо так:
*a = b;
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Генерация вёртексных lightmap'ов стандартными функциями блитз3Д Ky3R_94 Полезные функции 6 22.12.2009 12:42
Как работать с функциями? gost6681 Основной форум 1 16.03.2009 16:59
Работа с функциями Buraki 2D-программирование 6 11.02.2009 16:07


Часовой пояс GMT +4, время: 17:01.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com