szablony z przeładowaniem operatora

0

hej, mam problem, z pewną rzeczą a mianowicie jak wybrnąć z takiego czegoś w kodzie:

  
wypisz<funkcje<int>>(f1);
wypisz<funkcje<tablica>>(f2);

*funkcja * to klasa, której obiekty są tworzone z przesłanych wartości typu int bądź typu tablica. Z resztą widać do w poniższym mainie. Wypisz jak widać jest funkcją, ale nie za bardzo wiem jak poradzić sobie z zagnieżdżonymi "<>" w środku. Próbowałam z przeciążeniem operatora, ale nic to nie dało cały czas miałam ten sam błąd kompilacji:

'>>' should be '> >' within a nested template argument list|


#include <iostream>
#include "source.h"
using namespace std;

int main() {

  funkcje<int> f1(12,14);
  cout << f1.dodaj() << endl << endl;
  cout << f1.odejmij() << endl << endl;
  funkcje<tablica> f2(*a,*b);
  wynik = f2.dodaj();
  cout << "Dla szablonu w wersji 'int' : \n";
  wypisz<funkcje<int>>(f1);
  cout << "Dla szablonu w wersji 'tablica' : \n";
  wypisz<funkcje<tablica>>(f2);

}
3

Dodaj spację między >>, czyli > >, co bardzo uprzejmie zasugerował kompilator.
Albo kompiluj pod C++11/14, to nie będzie tego problemu.

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