[Błąd kompilacji] no match for 'operator[]' in 'Copy[wm]'
Ostatnio zmodyfikowano 2008-11-28 10:54
Mapet Temat założony przez niniejszego użytkownika |
[Błąd kompilacji] no match for 'operator[]' in 'Copy[wm]' » 2008-11-28 10:29:04 Siedze teraz przy mnozeniu maciezy i mam taki kod : bool Mnozenie( Macierz & m, Macierz & r ) { if( m.ile_kolumn != r.ile_wierszy ) { cout << "Mnozenie na tych macierzach jest nie wykonalne." << "\nBlad wymiarach!!" << endl; } else { int wynik = 0; Macierz Copy( 2, 2 ); for( int wm = 0; wm < m.ile_wierszy; wm++ ) { for( int km = 0; km < m.ile_kolumn; km++ ) { for( int kk = 0; kk < m.ile_kolumn; km++ ) { wynik = wynik + m.Tablica[ wm ][ kk ] * r.Tablica[ km ][ kk ]; } Copy[ wm ][ km ] = wynik; } } Kopiuj( m, Copy ); } }
Jest to funkcja zaprzyjazniona z klasa Macierz przyjmuje 2 argumety konkretnie 2 macierze. Nie wiem czy sposob mnozenia jest dobry bo nie che sie skompilowac. Problem tkwi z macierza ktora tworze za pomoca konstruktora w tej funkcji zaprzyjaznionej do ktorej bede mogl kopiowac wybniki a potem cala ta tablice przeslac do funkcji ktora mi przekopiuje ponownie na macierz tym razem wlasciwa. no ale wywala mi blad 113 C:\Dev-Cpp\proba.cpp no match for 'operator[]' in 'Copy[wm]' a nie wiem dlaczego bo przecierz kompilator wie ze pracuje na obiekcie copy ktory jest wskaznikiem wskaznikow. Nie zabardzo wiem jak to rozwiazac. blad lezy w operatorach w tej linijce : Copy[ wm ][ km ] = wynik; jesli bedzie potrzeba wklejenia calego kodu programu to wystarczy tylko slowo-wyraz. Bardzo zalezy mi ta tym.. |
|
Mapet Temat założony przez niniejszego użytkownika |
» 2008-11-28 13:12:40 ehhh.... No coz mam powiedzec. Najprostsze rzeczy sa najtrudniejsze chyba bedzie najodpowiedniejsze. big thx glowilem sie nad tym z 2 dni xd |
|
manfred |
» 2008-11-28 10:54:03 Copy.Tablica[ wm ][ km ] = wynik; |
|
« 1 » |