• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Undefined reference to...

Object Storage Arubacloud
0 głosów
1,743 wizyt
pytanie zadane 30 stycznia 2016 w C i C++ przez Avalon Obywatel (1,130 p.)

Witam mam taki oto problem.W poniższym programie kompilator wyświetla mi błąd z opisu w odniesieniu do wszystkich trzech funkcji,czy wiecie dlaczego tak jest?Oto kod:

#include <iostream>
#include<cstdlib>
#include<time.h>
using namespace std;

int zlicz (int);
void wypisz (int);
void losuj(int);
int main()
{
    int tablica[999];
    int wynik;
    losuj(tablica[999]);
    wypisz(tablica[999]);
    wynik=zlicz(tablica[999]);
    cout<<"\nWynik to: "<<wynik<<endl;
    return 0;
}
void losuj(int tablica[])
{
   srand(time(NULL));
   for(int i=0;i<999;i++)
    {
        tablica[i]=rand()%(4+1)+6;
    }
}
void wypisz (int tablica[])
{
    for(int i=0;i<999;i++)
    {
        cout<<tablica[i]<<"  ";
    }
}
  int zlicz (int tablica[])
  {
      int wynik=0;
      for(int i=0;i<999;i++)
    {
      wynik+=tablica[i];
    }
    return wynik;
  }

 

1 odpowiedź

+2 głosów
odpowiedź 30 stycznia 2016 przez MetGang Nałogowiec (34,360 p.)
wybrane 30 stycznia 2016 przez Avalon
 
Najlepsza

Przyczyna jest prosta:

void losuj(int tablica[]);
// to nie to samo co
void losuj(int tablica);

A więc:

void losuj(int[]);
// jest tym samym co
void losuj(int tablica[]);

 

komentarz 30 stycznia 2016 przez Avalon Obywatel (1,130 p.)
Rzeczywiście,głupi błąd,natomiast teraz wyświetliło mi się 6 błędów:
 kopia\main.cpp||In function 'int main()':|
 kopia\main.cpp|13|error: invalid conversion from 'int' to 'int*' [-fpermissive]|
 kopia\main.cpp|8|error:   initializing argument 1 of 'void losuj(int*)' [-fpermissive]|
 kopia\main.cpp|14|error: invalid conversion from 'int' to 'int*' [-fpermissive]|
 kopia\main.cpp|7|error:   initializing argument 1 of 'void wypisz(int*)' [-fpermissive]|
 kopia\main.cpp|15|error: invalid conversion from 'int' to 'int*' [-fpermissive]|
 kopia\main.cpp|6|error:   initializing argument 1 of 'int zlicz(int*)' [-fpermissive]|

I nie mam pojęcia jak to naprawić i z czego wynikają :(
komentarz 30 stycznia 2016 przez Avalon Obywatel (1,130 p.)
Oraz czy wiesz może jak naprawić w codeblocks wyświetlanie miejsca błędu?

Normalnie wyświetlał się obok nr linii czerwony kwadrat którego teraz nie ma
komentarz 30 stycznia 2016 przez MetGang Nałogowiec (34,360 p.)

wynik=zlicz(tablica[999]);

Wysyłasz do funkcji 999 element tablicy czyli zwykły int. Prześlij samą tablicę:

wynik=zlicz(tablica);

To samo tyczy się reszty funkcji.

komentarz 30 stycznia 2016 przez Avalon Obywatel (1,130 p.)
ups :D

Wielkie dzięki :)

Podobne pytania

0 głosów
1 odpowiedź 9,441 wizyt
pytanie zadane 31 lipca 2016 w C i C++ przez Iamhexi Obywatel (1,330 p.)
0 głosów
2 odpowiedzi 1,754 wizyt
0 głosów
1 odpowiedź 428 wizyt
pytanie zadane 31 grudnia 2015 w C i C++ przez Avernis Nałogowiec (27,400 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...