将QString转换为std :: string *

时间:2013-05-16 07:45:11

标签: c++ qt

我该怎么做:


_name__GetAvailable inp;

QString tmp;
inp.From = tmp;

这是 name _GetAvailable class:

的定义
class SOAP_CMAC _name__GetAvailable
{
public:
    std::string *From;  
    std::string *To;    
    struct soap *soap;  
}

我试过了:

inp.From = tmp.toStdString();

但我有以下错误:

  

C:\ Qt2 \ Qt5.0.1 \ Tools \ QtCreator \ bin \ Ticket \ mainwindow.cpp:49:错误:   无法将'std :: string {aka std :: basic_string}'转换为   分配中的'std :: string * {aka std :: basic_string *}'

1 个答案:

答案 0 :(得分:3)

如果您需要std::string指针,则需要分配新的std::string

inp.From = new std::string(tmp.toStdString());

但我真的没有看到你需要用指针操纵std::string的原因。

如果OAP_CMAC _name__GetAvailable属于您,则可以按值操纵std::string

class SOAP_CMAC _name__GetAvailable
{
public:
    std::string From;  
    std::string To;    
    struct soap *soap;  
}

否则,不要忘记delete std::string* FromTo