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

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

Войти
Регистрация
Восстановить пароль
 
William Blake
10 / 10 / 2
Регистрация: 09.08.2010
Сообщений: 278
#1

Аргументы функции - C++

30.07.2011, 16:56. Просмотров 1045. Ответов 6
Метки нет (Все метки)

Вопрос на счет аргументов функции в С++. есть такая функция:
Код
void Teleport(Player* pPlayer, float array[5])
    {
	int i = 0;
        pPlayer->TeleportTo(massive[i], massive[i+1], massive[i+2], massive[i+3], massive[i+4]);
    }
(pPlayer является экземпляром заранее реализованного объекта, он обозначает игрока, TeleportTo реализована заранее, принимает пять аргументов (uint32 mapID, float X, float Y, float Z, float Orientation), но это тут значения не имеет, просто этой функцией можно телепортировать игрока в игровом пространстве некоторой игры.)
Есть массив с координатами:
Код
float Coord[5] = {0, -8899.667969F, 564.989441F, 92.821983F, 0.630244F};
При вызове функции Teleport(pPlayer, Coord[]) появляется ошибка:
(Аргумент типа "float" несовместим с параметром типа "float *" )
Написал подобное на C#, ошибка тоже появляется, но уже написана по-другому
(Аргумент "1": преобразование типа из "float" в "float[]" невозможно)
Почему в обоих случаях она возникает? Ведь массив имеет тип float. Как это решить?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.07.2011, 16:56     Аргументы функции
Посмотрите здесь:

Аргументы функции: что значит "большие" и "небольшие" аргументы? - C++
Здравствуйте! Всем доброго дня! Растолкуйте пожалуйста! Что значит большие и небольшие?

Аргументы функции - C++
Программа должна вычислять x-e число Фибоначчи по mod y. Вылетает ошибка, что передано слишком мало аргументов. Объясните недалекому...

Аргументы функции - C++
Как правильно описать аргументы в некоторой функции void Func(int* a, int* b) { //... } Чтобы можно было вызывать её...

Аргументы функции - C++
Привет! Как поступить в следующей ситуации. for (int i = 0; i < 16; i++) { func(str1, str2); .... } дело в том...

Аргументы Функции - C++
Привет всем.Программа такова по заданному TXT файлу идет поиск строки и эта строка передается в качестве аргумента функции...

Аргументы у функции - C++
void String(int i, int j, int N, double a) И компилятор студии 2010 выдает следующие ошибки: 1>Hello.cpp(48): error C2057: expected...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
30.07.2011, 17:00     Аргументы функции #2
C++
1
2
3
4
5
Player pPlayer;
Teleport(&pPlayer, Coord);
//а можно и так, но все зависит от того как у вас оно вызываеться и создаеться
Player* pPlayer = new Player();
Teleport(pPlayer, Coord);
а вообще немешало бы показать как вы вызываете
William Blake
10 / 10 / 2
Регистрация: 09.08.2010
Сообщений: 278
30.07.2011, 17:03  [ТС]     Аргументы функции #3
Там оператор switch, сравнивает по значению специальной переменной. В меню игроку доступны некоторые кнопки, кнопка телепортации имеет значение 38.
case 38:
Teleport(pPlayer, Coord[5]);
break;
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
30.07.2011, 17:04     Аргументы функции #4
Цитата Сообщение от William Blake Посмотреть сообщение
case 38:
Teleport(pPlayer, Coord[5]);
break;
вы можете показать больший кусок кода, который включает в себя создание pPlayer и Coord[5], ваши 3 строчки о ситуации ничего не говорят
grizlik78
Эксперт С++
1908 / 1440 / 110
Регистрация: 29.05.2011
Сообщений: 2,995
30.07.2011, 17:09     Аргументы функции #5
Цитата Сообщение от William Blake Посмотреть сообщение
Teleport(pPlayer, Coord[5]);
здесь в функцию передаётся один элемент, к тому же с недопустимым индексом.
Если надо передать весь массив, то это так:
C++
1
Teleport(pPlayer, Coord);
William Blake
10 / 10 / 2
Регистрация: 09.08.2010
Сообщений: 278
30.07.2011, 17:13  [ТС]     Аргументы функции #6
Все, понял, что ступил.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.07.2011, 17:58     Аргументы функции
Еще ссылки по теме:

Аргументы функции - C++
Добрый вечер! Сразу по делу: int func(char s) {....} int main { char s; // s-символьная строка func(s); }

Аргументы функции по умолчанию - C++
Есть пример из книги Прата с использованием аргументов, определяемых по умолчанию. После ввода строки программа виснет. Подскажите, в чем...

Аргументы функции по умолчанию - C++
Написать функцию, которая принимает два параметра типа int: высоту и ширину. Данная функция рисует на экране прямоугольник, размер которого...

Аргументы функции по умолчанию - C++
Помогите. Вот код программы #include <iostream> using namespace std; #include <cstdlib> #include <cstring> struct stringy{ ...


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

Или воспользуйтесь поиском по форуму:
ValeryLaptev
Эксперт С++
1039 / 818 / 48
Регистрация: 30.04.2011
Сообщений: 1,659
30.07.2011, 17:58     Аргументы функции #7
Цитата Сообщение от William Blake Посмотреть сообщение
Там оператор switch, сравнивает по значению специальной переменной. В меню игроку доступны некоторые кнопки, кнопка телепортации имеет значение 38.
case 38:
Teleport(pPlayer, Coord[5]);
break;
Вот это:
C++
1
Teleport(pPlayer, Coord[5]);
и есть ошибка. Ты передаешь ОДИН элемент массива, а не массив...
Надо так:
C++
1
Teleport(pPlayer, Coord);
Yandex
Объявления
30.07.2011, 17:58     Аргументы функции
Ответ Создать тему
Опции темы

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