Avatar
Tayson
Člen
Avatar
Tayson:

Zdravim mam takyto problem. Potrebujem vytvorit metodu v triede ktora sa nachadza v headery aby mi vracala pole.

class CSpreadSheet
{
public:
~CSpreadSheet();
CStringArray return_array() {return m_atempArray;}
private:
CStringArray m_atempArray;
};

a dalej mam metodu :

CStringArray CSpreadSheet::re­turn_array()
{
return m_atempArray;
}

a potrebujem si to zavolat do suboru .cpp kde mam funkciu a vyzera to takto :

void copy_array()
{
CStringArray pole;
CSpreadSheet SS();
pole=SS.retur­n_array();
}
No nefunguje mi to vyhadzuje mi to errory nasledujuce :

error C2248:'CObjec­t::CObject':can­not access private member declared in class 'CObject'

error C2084: function 'CStringArray CSpreadSheet::re­turn_array(vo­id)' already has a body

error C2264:'CSpread­Sheet::return_a­rray' : error in function definition or declaration; function not called

Tieto tri errory neviem ako odstranit. Za nejaku radu budem vdacny.

 
Odpovědět 11.11.2014 10:56
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Tayson
Jan Vargovský:

Vytváříš 2x jednu metodu. Pak vytváříš funkci, která ti vrací CSpreadSheet, takže bys musel volat SS().return_a­rray().

class CSpreadSheet
{
public:
        ~CSpreadSheet();
        CStringArray return_array();
private:
        CStringArray m_atempArray;
};

CStringArray CSpreadSheet::return_array()
{
        return m_atempArray;
}

void copy_array()
{
        CStringArray pole;
        CSpreadSheet SS;
        pole = SS.return_array();
}
Editováno 11.11.2014 21:11
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět 11.11.2014 21:11
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.