Мой код выглядит следующим образом:NullReferenceException на массив класса ссылки
int main()
{
CProfile **profiles;
*profiles = new CProfile[8];
profiles[0] = new CProfile(2000,2,4);
profiles[1] = new CProfile(55000,6,50);
profiles[2] = new CProfile(758200,5,23);
}
Где Cprofile определяется как:
#ifndef PROFILE_H
#define PROFILE_H
class CProfile
{
private:
int m_Experience;
int m_TownhallLevel;
int m_Trophies;
public:
CProfile(void);
CProfile(int,int,int);
void PrintInfo(void);
};
#endif
Все, кажется, собираете штраф, но NullReferenceException происходит во время *profiles = new CProfile[8];
. Я новичок в C++, и я не могу понять, как правильно создать экземпляр класса. Любая помощь будет оценена, спасибо.
потому что вы разыменования указателя 'profiles' перед инициализацией его - попробуйте [учебник] (http://www.cplusplus.com/doc/tutorial/pointers/) – BeyelerStudios
Зачем выделять? Почему бы не использовать контейнер STL? – Blacktempel
Совет. Какую память указывает указатель 'profiles', прежде чем вы разыщите его во второй строке? –