Witam.
Natknąłem się na stosunkowo nieduży problem.
Chciałem napisać zwykłą funkcję, która by wypisywała utworzoną wcześniej tablicę dwuwymiarową. Tak długo, jak wypisywanie wywołuję w konstruktorze, jest ok (czytaj: funkcja wypisywania jest dobrze napisana). Ale kiedy chciałem funkcję wpisać do ciała klasy, coś się dzieje ze stosem i program się buntuje. Śmiem twierdzić, że błąd leży gdzieś w przekazywaniu wartości do funkcji... Czy możecie rzucić okiem?
Dzięki wielkie.
class macierz
{
public:
int liczba;
macierz(int m, int n) : m(m), n(n)
{
int **tablica = new int*[n];
for (int i=0; i<n; i++)
{
tablica[i] = new int[m];
for (int j=0; j<m;j++)
{
cout << "Podaj "<<j+1<<" liczbe w wierszu "<<i+1<<": ";
cin >> liczba;
tablica[i][j] = liczba;
}
}
}
static void wypisz(macierz mac)
{
for (int i=0; i<mac.n; i++)
{
for (int j=0; j<mac.m;j++)
cout << mac.tablica[i][j] << "\t";
cout << "\n";
}
}
private:
int n, m, **tablica;
};
int _tmain(int argc, _TCHAR* argv[])
{
macierz m1(2,2);
macierz::wypisz(m1);
return 0;
}