我正在做学生项目,看起来我被困住了。我创建了一个名为 Bone 的类,其中我有一个指向另一个 Bone 对象的指针。 在另一个类中,我有 Bone 对象的 vector 。我正在从文件中读取 vector 的值并且它工作正常。我还可以检查子指针是否为 != NULL,但我无法获取名称等值。我做错了什么?
Bone.h
class Bone {
public:
Bone();
char name[30];
Bone *child = NULL;
Bone *sibiling = NULL;
};
其他类
std::vector<Bone> skeletonBones;
for (int i=0; i<skeletonBones.size(); i++){
Bone *bone, **boneTmp;
bone = &skeletonBones[i];
if (&bone->child != NULL){
boneTmp = &bone->child;
cout << "child - " << << endl; //here is the point where I have no idea how to print the child name
}
else
cout << "no child" << endl;
}
感谢任何帮助。
最佳答案
#include <iostream>
#include <vector>
class Bone
{
public:
Bone();
std::string name;
Bone * child { nullptr };
Bone * sibiling { nullptr };
};
int main()
{
std::vector < Bone > skeleton_bones;
// add values to skeleton_bones
for (std::size_t i = 0; i < skeleton_bones.size(); ++i)
{
Bone * bone = &skeleton_bones[i];
if (bone->child)
{
Bone * child = bone->child;
std::cout << "child is : " << child->name << std::endl;
}
else
std::cout << "no child" << std::endl;
}
return 0;
}
关于c++ - 带有指向另一个对象的指针的自定义对象的 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47575289/