• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dwukrotne przeciążenie operatora indeksowania

VPS Starter Arubacloud
0 głosów
507 wizyt
pytanie zadane 5 grudnia 2017 w C i C++ przez Dawid115 Nowicjusz (190 p.)
przywrócone 5 grudnia 2017 przez Dawid115

Witam,

mam problem z przeciążeniem operatora [][]. Napisałem program ze zliczaniem odwołań, dlatego, żeby opóźnić kopiowanie danych muszę zastosować 2 klasy.

class CMatrix::Cref2
{
  friend class CMatrix; 
  CMatrix& s;
  unsigned int col;
  unsigned int row;
  Cref2 (CMatrix& ss, unsigned int i, unsigned int j): s(ss), col(i), row(j) {};
  public:

  CMatrix::Cref2::Cref operator[](unsigned int nrow)
  {
    row=nrow;
    s.check(col,row);
    return Cref(*this);
  }


};

class CMatrix::Cref2::Cref
  {
  friend class CMatrix;
  friend class Cref2;
  Cref2 &s;
  Cref (Cref2& ss): s(ss) {};
  public:

};

Jednak przy takim zapisie pojawia się błąd 

matrix.h:104:3: error: return type ‘class CMatrix::Cref2::Cref’ is incomplete
   {
   ^
matrix.h:107:22: error: invalid use of incomplete type ‘class CMatrix::Cref2::Cref’
     return Cref(*this);

Z góry dzięki za pomoc.

Pozdrawiam.

1 odpowiedź

+1 głos
odpowiedź 6 grudnia 2017 przez j23 Mędrzec (195,220 p.)
wybrane 6 grudnia 2017 przez Dawid115
 
Najlepsza

W kodzie operator[] odwołujesz się do klasy Cref, która nie jest jeszcze zdefiniowana. Daj definicję klasy przed  definicję operatora, albo na odwrót.

komentarz 6 grudnia 2017 przez Dawid115 Nowicjusz (190 p.)
Właśnie o to chodziło, już działa.

Dzięki za pomoc.

Podobne pytania

0 głosów
1 odpowiedź 177 wizyt
pytanie zadane 3 marca 2018 w C i C++ przez pewien_programista Obywatel (1,070 p.)
+1 głos
2 odpowiedzi 368 wizyt
pytanie zadane 14 czerwca 2021 w C# przez everstudybee Użytkownik (670 p.)
0 głosów
0 odpowiedzi 200 wizyt
pytanie zadane 27 stycznia 2021 w C i C++ przez Miaugosia Nowicjusz (210 p.)

93,008 zapytań

141,975 odpowiedzi

321,256 komentarzy

62,350 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...