Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.07.2012, 16:33   #1
Fatal Error
Пользователь
 
Аватар для Fatal Error
 
Регистрация: 20.05.2012
Сообщений: 58
По умолчанию передача массива в функцию

Код:
#include <iostream>
using namespace std;
float summarr(float array[], short n);
int main()
{
    const short arrsize = 5;
    float array[5] = {1, 2, 3.45, 4, 5};
    cout<<"Summa massiva = "<<summarr(array, arrsize); //тут ошибку линкер выдает   [Linker error] undefined reference to `summarr(float*, short)' 
    system("pause>>void");
    return 0;
}

float summarr(int array[], short n)
{
      float summ;
      for (short i = 0; i<5; ++i)
          summ += array[i];
      return summ;
}
а если заделать тип int то все норм работает...
Fatal Error вне форума Ответить с цитированием
Старый 09.07.2012, 16:37   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
float array[]
а я бы писал так: float *array
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.07.2012, 16:52   #3
Fatal Error
Пользователь
 
Аватар для Fatal Error
 
Регистрация: 20.05.2012
Сообщений: 58
По умолчанию

я тоже так писал, но толку нету... одна и та же ошибка
Fatal Error вне форума Ответить с цитированием
Старый 09.07.2012, 17:18   #4
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

Fatal Error

тут ошибку линкер выдает [Linker error] undefined reference to `summarr(float*, short)'

Ну а чему ты, собстна, удивляеешься?
Сначала ты обманул компилер, скормив ему сказочку про белого бычка туфту, будто бы у тебя есть функция работающая с float*, а сам под шумок определил функцию с int*

компилятор таких шуточек не понимает => пешее эротическое provided. oO
Rififi вне форума Ответить с цитированием
Старый 09.07.2012, 17:24   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Кстати да, одинаковые имена не есть Гут.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.07.2012, 17:33   #6
Fatal Error
Пользователь
 
Аватар для Fatal Error
 
Регистрация: 20.05.2012
Сообщений: 58
По умолчанию

Цитата:
Сначала ты обманул компилер, скормив ему сказочку про белого бычка туфту, будто бы у тебя есть функция работающая с float*, а сам под шумок определил функцию с int*
я ведь все через float делал...
Код:
float summarr(float array[], short n);
..........
float array[5] = {1, 2, 3.45, 4, 5};
    cout<<"Summa massiva = "<<summarr(array, arrsize);
Fatal Error вне форума Ответить с цитированием
Старый 09.07.2012, 17:44   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
я ведь все через float делал...
Смотри:
Цитата:
float summarr(float array[], short n);
и тело:
Цитата:
float summarr(int array[], short n)
Разницу видишь?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.07.2012, 17:45   #8
Fatal Error
Пользователь
 
Аватар для Fatal Error
 
Регистрация: 20.05.2012
Сообщений: 58
По умолчанию

гыыыыы))) случайно!!
Fatal Error вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Произведение элементов массива в функции (передача массива в функцию) (Delphi) Toxa16 Помощь студентам 1 23.04.2011 04:42
Передача массива в функцию GladiatoR24 Общие вопросы C/C++ 3 24.11.2010 22:51
Си++. Передача массива в функцию. Diamond2107 Помощь студентам 7 03.12.2009 20:15
передача массива в функцию JOFRIF Общие вопросы C/C++ 8 02.08.2009 12:46
Передача массива в функцию Vistar Общие вопросы C/C++ 1 27.04.2009 08:08