проблемы с ошибками указателя ...
Тем временем я уже несколько недель занимаюсь с ++, но снова столкнулся с этой проблемой.
В основном мне даны эти классы. Я не могу их изменить. Я начинаю с экземпляра _ns3__importAuftragResponse kout;
class SOAP_CMAC _ns3__importAuftragResponse
{
public:
ns2__SOAPImportResult *return_;
...
class SOAP_CMAC ns2__SOAPImportResult
{
public:
bool *error;
int *numberOfIgnoreds;
....
Мой код должен проверить числоOfIgnoreds
первый подход
ns2__SOAPImportResult* imp_result;
imp_result = kout.return_;
int num;
num = *imp_result->numberOfIgnoreds;
или я использую
ns2__SOAPImportResult imp_result;
imp_result = *(kout.return_);
int* num;
*num = *imp_result.numberOfIgnoreds;
Я чаще всего получаю ошибку сегментации
Я вообще знаю, что происходит во время выполнения, но не могу придумать правильную оду. Пожалуйста, помогите.
EDIT
добился прогресса благодаря твоему ответу, Наваз, но все еще нужно немного понимания
ns2__SOAPImportResult * imp_ptr = new ns2__SOAPImportResult;
imp_ptr = kout.return_;
int * num = new (int);
// next line segfaults
*num = *imp_ptr->numberOfIgnoreds;
что мне трудно понять, так это то, как или зачем выделять память для чего-то, что уже «там», поскольку есть элемент return_ объекта kout
Так правильно ли говорить, что мне нужно выделить память для переменной, которой я ее назначаю (которая, конечно, того же типа)?