[c++] Problem z wywołaniem podprogramu

[c++] Problem z wywołaniem podprogramu
LU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 127
0

#include <iostream>

using namespace std;

template <class typ="typ">
struct kolejka
{
int r;
typ *d;
};

template <class typ="typ">
void przygotuj (kolejka<typ> *w)
{
w->r=0;

}

int main()
{
kolejka <int> a;
przygotuj (kolejka<int> a);
return 0;
}

wyświetla się błąd:
main.cpp|60|error: expected primary-expression before 'a'|

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
1

Ale co to niby jest? o_O
Jak wywołujesz metodę to podajesz argumenty a nie jakieś dziwne deklaracje argumentów. Więc nie:

Kopiuj
przygotuj (kolejka<int> a);

a po prostu

Kopiuj
przygotuj(a);

Ale to nadal jest źle, bo funkcja przygotuj wymaga wskaźnika do kolejki a nie kolejki, więc:

Kopiuj
przygotuj(&a);

albo:

Kopiuj
kolejka<int>* a = new kolejka<int>();
przygotuj(a);

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.