У меня есть структура, которая определяется с большим количеством ванильных char*
указателей, но также является членом объекта. Когда я пытаюсь статически инициализировать такую структуру, я получаю ошибку компилятора.
typedef struct
{
const char* pszA;
// ... snip ...
const char* pszZ;
SomeObject obj;
} example_struct;
// I only want to assign the first few members, the rest should be default
example_struct ex = { "a", "b" };
SomeObject
имеет открытый конструктор по умолчанию без аргументов, поэтому я не думал, что это будет проблемой. Но когда я пытаюсь скомпилировать это (используя VS), я получаю следующую ошибку:
error C2248: 'SomeObject::SomeObject' : cannot access private member declared in class 'SomeObject'
Есть идеи почему?
Обновление: Вот определение SomeObject
class SomeObject
{
void operator=(const SomeObject&);
SomeObject(const SomeObject&);
public:
SomeObject()
{
// etc
}
// members snipped
}