Witam zanim wyjasnie swoj problem wrzuce kod.
#include <iostream>
#include <string>
using namespace std;
template <class typ, int liczba_wymiarow, int *wymiary=new int[liczba_wymiarow]> class Tablica;
class Baza_danych;
template <class typ, int liczba_wymiarow, int *wymiary=new int[liczba_wymiarow]>
class Tablica
{
int liczba_wymiaro=liczba_wymiarow;
int *wymiary=new int [liczba_wymiaro];
string nazwa;
public:
void wczytaj()
{
cout<<"Podaj nazwe tablicy"<<endl;cin>>nazwa;
for(int i=0;i<liczba_wymiaro;i++)
{
cout<<"Podaj wymiar nr : "<<i+1<<endl;
cin>>wymiary[i];
}
}
void wyswietl_atrybuty()
{
cout<<"typ : "<<endl;
cout<<"nazwa: "<<nazwa<<endl;
}
};
int main()
{
Tablica < char, 2, {4,6} > nowa;
nowa.wczytaj();
nowa.wyswietl_atrybuty();
return 0;
}
Dobra to jest kod kompilator wywala mi takie bledy
/home/User/Programownaie/C++/Gielda/BibliotekaKlas.cpp|13|error: redefinition of default argument for ‘int* wymiary’|
/home/User/Programownaie/C++/Gielda/BibliotekaKlas.cpp|6|note: original definition appeared here|
/home/User/Programownaie/C++/Gielda/BibliotekaKlas.cpp||In function ‘int main()’:|
/home/User/Programownaie/C++/Gielda/BibliotekaKlas.cpp|45|error: template argument 3 is invalid|
/home/User/Programownaie/C++/Gielda/BibliotekaKlas.cpp|45|error: ‘nowa’ was not declared in this scope|
||=== Build failed: 3 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
Domyslam sie ze pierwszy blad wiaze sie z tym ze zadeklarowalem sobie tablice dynamiczna w szablonie klasy ale nie wiem jak inaczej sobie z tmy poradzic. Ale przy innych bledach nie wiem o co chodzi dobija mnie szczegolnie jeden o ten :template argument 3 is invalid.
Skad sie wzielo "3" ?!
Z gory dzieki za pomoc.
PS: Dodam ze szablony klas to dla mnie nowy i temat i przy wyjasnieniu prosze nie uzywac akademickich nazw bo jestem koderem amatorem i ich nie rozumiem. Dzieki :D