【发布时间】:2018-04-25 14:56:55
【问题描述】:
在 SUSE 上使用 gcc 4.8 我收到以下错误:
有谁知道这个错误的根源是什么,以及如何解决?
我回来提供更多细节:
有以下课程
smoquery.h
class SmoQuery
{
public:
SmoQuery(SqlLogonElem * const & eLogon,
optionsInfo_t * const & optionsInfoP,
logicalNameList_t * const & pRequestedDbList,
logicalNameList_t * const & pExcludeDbList,
SqlDatabaseElem * const & peDatabase,
dsBool_t const bIncludeFrontEndCapacity,
dsBool_t const bReplacementChars);
~SmoQuery();
private:
Options mOptions;
char optionsFilePath[PATH_MAX+1] = "";
};
smoquery.cpp
SmoQuery::SmoQuery(SqlLogonElem * const & eLogon,
optionsInfo_t * const & optionsInfoP,
logicalNameList_t * const & pRequestedDbList,
logicalNameList_t * const & pExcludeDbList,
SqlDatabaseElem * const & peDatabase,
dsBool_t const bIncludeFrontEndCapacity,
/*line 80 --->*/ dsBool_t const bReplacementChars)
{
/* all code was commented */
}
构建日志说:
Gmake build ...(包含在此评论中已删除)
g++ -D_LINUX -D_LINUX64 -DLINUX64 -D_LINUXAMD64 -DMBCS_AIX -D_THREADS -D_CPP_ALL -DNO_CDE -D_LONG_LONG -D_LARGEFILE64_SOURCE -DWIDE_CHAR_FIX -DDSMAPILIB -DDSM_STANDALONE_PROGRAM -DUNIX -D_FILE_OFFSET_BITS=64 -D_NEED_USING_NAMESPACE -D_GNU_SOURCE -DSQL -O -I. -I.. .... -fpermissive -fpic -fstack-protector -Wall -Wno-write-strings -Wno-missing-braces -DBUILD_TSM_V816 -std=c++11 -c smoquery.cpp -o ../../sqlonlinux/optimized/obj816/linuxAMD64/smoquery.o
...
smoquery.cpp: In constructor ‘SmoQuery::SmoQuery(SqlLogonElem* const&, optionsInfo_t* const&, logicalNameList_t* const&, logicalNameList_t* const&, SqlDatabaseElem* const&, dsBool_t, dsBool_t)’:
smoquery.cpp:132:72: error: array used as initializer
dsBool_t const bReplacementChars)
^
In file included from smoquery.cpp:80:0:
【问题讨论】:
-
什么是
TRACE?请提供MCVE。 -
那么
TR_SQLAPI是什么? -
第 132 行是哪一行? (你的错误信息看起来很奇怪。那里有复制和粘贴错误吗?)
-
错误消息听起来像是问题出在使用构造函数的位置,而不是在声明中。您能否用您尝试构建
Query的方式更新问题? -
我刚刚编辑了帖子以输入更多详细信息。感谢您的帮助。
标签: c++ gcc compiler-errors