[英]Class object pointer won't assign to string
我试图分配一个指针,像这样的值
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;
}
假设您的XMLSerial
对象可以由string
构造,那么它将起作用。
string name;
XMLSerial * ptr;
if(name == "Armor")
{
ptr = new XMLSerial( name );
}
编辑:
而且,正如所评论的那样,处理指针和new
/ delete
都有自己的责任。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.