错误:字符串常量之前的预期unqualified-id

时间:2011-01-11 14:15:05

标签: c++

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

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(" | ");

2 个答案:

答案 0 :(得分:7)

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

#define STRSEP "blahblah"

因为我编译了你的代码片段并且很好,但是添加了一个类似于前一个的定义,我得到了同样的错误。

答案 1 :(得分:2)

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