【问题标题】:How can I combine two QStrings into one?如何将两个 QString 合并为一个?
【发布时间】:2015-05-16 08:30:55
【问题描述】:

我尝试将两个 QString 合二为一。我读过很多关于:

QString NAME = QString + QString

但这对我没有帮助。到目前为止,这就是我的代码的样子:

test.h

#ifndef TEST_H
#define TEST_H

#include <QString>
#include <QFile>
#include <QDir>

class Test
{
public:
    void createProject(QString* p, QString*n);
};

#endif // TEST_H

test.cpp

#include "test.h"
#include <QFile>
#include <QString>
#include <QDir>

void Test::createProject(QString *p, QString *n)
{
    QString result = p + n;
    QDir dir(result);
    if (dir.exists())
    {
        // ok
    }
    else
    {
        printf("Error!\n");
    }
}

(忽略检查目录是否存在的代码,顺便说一句,我使用Qt 4.8.6)

所以现在当我尝试编译时,我得到了这个错误:

test.cpp: 在成员函数'void Test::createProject(QString*, QString*)': test.cpp:8:21: 错误: 'QString*' 类型的无效操作数 和 'QString*' 到二进制 'operator+'
QString 结果 = p + n;

我怎样才能做到这一点?在这里使用 += 代替 + 也不起作用。

~一月

【问题讨论】:

  • 您正在尝试查找不允许的两个指针的总和。您可能想要做的是将QString 作为引用或值传递。

标签: c++ qt qstring


【解决方案1】:

确实,您将它们的地址添加为 pn 是指针。尝试将它们的值添加为:

QString result = *p + *n;

【讨论】:

  • 谢谢!这行得通。但是我读了太多关于 QString = QString + QString 但不记得指针的内容;)
猜你喜欢
  • 2011-11-24
  • 1970-01-01
  • 1970-01-01
  • 2021-09-28
  • 2014-11-16
  • 2020-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多