Błąd int, czym jest powodowany?

0

Witam,
Uczę się dopiero od niedawna c++ i chciałem napisać pewien program, ale code::block wywala mi ciągle błąd a ja nie mam pojęcia co jest źle proszę o pomoc.
Program:

 #include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int losowanie(int od, int ile, int K2, int liczbB[])
{
    liczbB[K2] = (rand() % ile ) + od;
    return liczbB[K2];
}
int sumowanie(int liczbB[], int K2)
{
    int wynik = liczbB[0];
    do
    {
        wynik = wynik + liczbB[K2];
        K2++;
    } while(K2<999);
    return wynik;
}
int wypisywanie(int ws, int liczbB[])
{
    int Q = 0;
    do
    {
        cout << liczbB[Q];
        Q++;
    } while(Q<999);
    cout << ws;
}
int main()
{
    srand( time(NULL) );
    int liczbA[999];
    int K = 0;
    do
    {
        liczbA[K] = losowanie;
        losowanie(4, 7, K, liczbA);
        K++;
    } while(K<999);
    sumowanie(liczbA, 1);
    int wynik2 = sumowanie;
    wypisywanie(wynik2, liczbA);

}

Komunikat:

 /home/damian/Desktop/cpp/Test/main.cpp||In function ‘int main()’:|
/home/damian/Desktop/cpp/Test/main.cpp|39|error: invalid conversion from ‘int (*)(int, int, int, int*)’ to ‘int’ [-fpermissive]|
/home/damian/Desktop/cpp/Test/main.cpp|44|error: invalid conversion from ‘int (*)(int*, int)’ to ‘int’ [-fpermissive]|
||=== Build finished: 2 errors, 0 warnings ===|
1

Tym, ze nie mozna przypisac adresu funkcji zmiennej typu int.

0

Czyżbyś wcześniej uczył się Pascala?;) Gdy funkcja nie ma argumentów, to i tak trzeba użyć nawiasów, żeby ją wywołać. Np. int wynik2 = sumowanie;-> int wynik2 = sumowanie();

1

Po ludzku to ma wyglądać mniej więcej tak:

#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
 
void losowanie(int tb[],size_t size,int Dn, int Up)
  {
   int mod=Up-Dn+1;
   for(size_t i=0;i<size;++i) tb[i]=Dn+rand()%mod;
  }

int sumowanie(int tb[],size_t size)
  {
   int sum=0;
   for(size_t i=0;i<size;++i) sum+=tb[i];
   return sum;
  }

void wypisywanie(int tb[],size_t size)
  {
   for(size_t i=0;i<size;++i) cout<<tb[i]<<' ';
  }

int main()
  {
   srand(time(0));
   int liczbA[999];
   losowanie(liczbA,999,4,10);
   wypisywanie(liczbA,999);
   cout<<endl<<"Suma: "<<sumowanie(liczbA,999);
   return 0;
  }

1 użytkowników online, w tym zalogowanych: 0, gości: 1