我正在尝试将指针分配给这样的值
string name;
XMLSerial * ptr;
if(name == "Armor")
{
ptr = &name;
}
名称较早初始化。 XMLSerial 是我编写的一个类。我正在尝试将一些 XML 反序列化为对象。如果名称是我定义的类或对象之一,我希望 XMLSerial 对象指针为该对象创建空间。
我得到的错误是 cannot convert std::string* {aka std::basic_string<char>*} to XMLSerial* in assignment
.
最佳答案
您发布的代码应该完全按照您描述的方式失败。很难确切地知道您在哪里偏离了轨道,但是您的 XMLSerial 可能有一个您正在尝试使用的 operator=(std::string)
。
如果是这种情况,请将您的代码替换为:
string name;
XMLSerial xml;
if(name == "Armor")
{
xml = name;
}
关于c++ - 类对象指针不会分配给字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14804261/