Ostatnio zaczynam uczyć się, co to template i stworzyłem coś takiego:
#include <iostream>
using namespace std;
int ile_razy_tworzyc;
template<int ile_razy> ///Tworzenie szablonu
class Wypelnianie ///Klasa szablonu
{
public:
/// Argumenty
int Zmienna[ile_razy];
///Metody
void Uzupelnianie()
{
int i=ile_razy;
for(int i=ile_razy; i>0; i--)
{
cin >> Zmienna[i];
}
}
void Pokazywanie()
{
for(int j=ile_razy; j>0; j--)
{
cout << Zmienna[j];
}
}
};
int main()
{
///Ile razy ma sie stworzyc
cin >> ile_razy_tworzyc;
///Zmiana int na const int
const int ile_tworzyc=ile_razy_tworzyc;
///Tworzenie
Wypelnianie < ile_tworzyc > Klasa;
///Wywolywanie
Klasa.Uzupelnianie();
Klasa.Pokazywanie();
///Konczenie programu
return 0;
}
I nagle błąd przy kompilacji.
PS. dla leniwych:
46 ile_tworzyc cannot appear in a constant-expression
46 template argument 1 is invalid
i 2 inne błędy nie warte uwagi (są spowodowane tymi z linijki 46)