【问题标题】:error: expected unqualified-id before string constant错误:字符串常量之前的预期 unqualified-id
【发布时间】:2023-03-07 15:21:01
【问题描述】:

经过一番研究,我仍然不明白这个问题。

Const.hpp:

#ifndef CONST_HPP
#define CONST_HPP

#include <QString>

    const QString   CONFFILENAME("dsibubble.ini"),
                    STRSEP(" | ");

    const int       MAXIMGWIDTH = 960;

#endif // CONST_HPP  

TabDataBase.cpp:

#include "Const.hpp"
func() {

    QString abc = STRSEP;

}

使用STRSEP 会产生expected unqualified-id before string constant 错误。 此外,我在其他课程中使用CONFFILENAME,我没有错误。

QString path = QString("..//") + CONFFILENAME;

编辑:错误的详细信息:

In file included ..\TabDataBase.cpp: #include "Const.hpp"  
expected unqualified-id before string constant: Const.hpp : STRSEP(" | ");

【问题讨论】:

  • 您能告诉我们错误所在的行吗?
  • 有机会STRSEP 是某个地方的#define
  • 您是否尝试过在单独的行上单独声明 STRSEP 并查看是否有效?此外,可能值得删除并重新输入整行,因为一个狡猾的字符可能已经悄悄进入,看起来像空白,但不是......
  • @Nikolai N Fetissov:你说的太对了……抱歉这个问题。感谢大家

标签: c++


【解决方案1】:

我认为您已将 STRSEP 定义为字符串文字,例如:

#define STRSEP "blahblah"

因为我编译了你的 sn-p 并且没问题,但是像上一个一样添加一个定义我得到了同样的错误。

【讨论】:

    【解决方案2】:

    尝试使用两个单独的语句定义这两个常量。这是我能想到的唯一可能会产生影响的东西。

    【讨论】:

      猜你喜欢
      • 2012-08-03
      • 2017-12-23
      • 1970-01-01
      • 2013-07-06
      • 2011-10-27
      • 1970-01-01
      • 1970-01-01
      • 2014-03-07
      • 2011-01-15
      相关资源
      最近更新 更多