繁体   English   中英

类对象指针不会分配给字符串

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM