Ваш A
объект имеет неинициализированный objTRANSACTIONID
, нет B
объекта, чтобы вставить DNINFO
в него TRANSACTIONID
.
Не используйте указатели и new
здесь, есливы можете
// Third class
class C {
public:
std::string APPLICATIONID;
std::string CREATEDBY;
};
// second class
class B {
public:
std::vector<C>TRANSACTIONID;
};
class A
{
public:
B objTRANSACTIONID;
};
// C++ Code
int main()
{
A aObject;
C DNINFO;
std::string FieldName = "UserType";
DNINFO->APPLICATIONID = FieldName;
DNINFO->CREATEDBY = FieldName;
aObject.objTRANSACTIONID.TRANSACTIONID.push_back(DNINFO);
}
Очевидно, ваши классы генерируются инструментами, поэтому в этом случае вам нужно выделить B
.Обратите внимание, что этот инструмент должен сообщать вам, когда (или если) это вещи.Если этого не произойдет, выбросьте инструмент и напишите разумные классы самостоятельно.
// C++ Code
int main()
{
A aObject;
aObject.objTRANSACTIONID = new B;
C * DNINFO = new C;
DNINFO->APPLICATIONID = new std::string("UserType"); // have to assume owning raw pointer
DNINFO->CREATEDBY = new std::string("UserType"); // have to assume owning raw pointer
aObject.objTRANSACTIONID->TRANSACTIONID.push_back(DNINFO);
}