C++编译问题
C++ compilation issue
我看到一些我不理解的C++错误(我是以java为中心的程序员(:
WarningNotification_if.cpp: In function 'void fireStatusBarMessage(char*, int)':
WarningNotification_if.cpp:62:14: error: expected type-specifier
WarningNotification_if.cpp:62:14: error: cannot convert 'int*' to 'WarningEventData*' in initialization
WarningNotification_if.cpp:62:14: error: expected ',' or ';'
这是实际代码:
void fireStatusBarMessage(char *message = 0, int aTime = 0 )
{
LmLocker locker( (char *)__FILE__, __LINE__, &WarningEventUpdateMutex );
HMI_DEBUG(EVENT_DEBUG, (stderr, "Fire Status Bar Messagen") );
if ( message != 0 )
{
QString warningMessage = QString( message );
WarningEventData *theEventData =
new WarningEventData::WarningEventData();
theEventData->initialize();
theEventData->setMessageType( SESSION_STATUSBAR_TYPE );
theEventData->setCommand( APPEND_WARNING );
theEventData->setMessage( warningMessage );
theEventData->setModifier( aTime );
theEventData->setCategory( SESSION_STATUSBAR_TYPE );
WarningNotification::fireChange( SESSION_STATUSBAR_TYPE, theEventData );
} /* endif - message contents */
}
我需要导入其他东西还是使用某个-D标志?
WarningEventData *theEventData = new WarningEventData::WarningEventData();
这很奇怪。new
表达式应该命名一个类型,而不是构造函数。WarningEventData
是否在类似名称空间内?如果是,为什么不是WarningEventData::WarningEventData* theEventData
?
WarningEventData *theEventData = new WarningEventData::WarningEventData();
// ^^^^^^^^^^^^^ Is WarningEventData is a namespace ?
如果是这样,那么你必须像-一样实例化
WarningEventData::WarningEventData *theEventData =
new WarningEventData::WarningEventData();
如果根本不涉及命名空间-
WarningEventData *theEventData = new WarningEventData();
我做c++已经有一段时间了,但我相信构造函数不需要显式调用。尝试更换
WarningEventData *theEventData = new WarningEventData::WarningEventData();
带有
WarningEventData *theEventData = new WarningEventData();
看起来您可能需要像一样,将文件包含在WarningEventData声明中
#include "WarningEventData.h"
相关文章:
- 编译包含字符串的代码时遇到问题
- 在编译C++代码(具有dlib和opencv)到WASM时面临问题
- 编译要在英特尔Hyperscan中使用的.cc文件时出现问题
- 如何在 Mac 上正确编译C++,当它在 Linux 上编译没有问题时?
- Rextester 语言编译C++问题
- 这是使用回溯的 nqueen 问题,但我使用了动态 2d 数组,我的程序编译良好,但不返回任何输出
- 编译 llvm 插件时出现问题:llvm/Config/llvm-config.h:没有这样的文件或目录
- C++ 多级虚拟继承编译问题
- 编译问题:在函数"_start"中:未定义对"主"的引用 collect2:错误:ld 返回 1 个退出状态
- 在Linux上使用Clang / OLLVM交叉编译helloworld Windows可执行文件时的问题
- 使用 CImg 库的 std::min 和 std::max 的编译问题
- Qt Visual Studio 2015 加载项编译问题
- 构造函数和 G++ 编译配方的问题
- 解析问题 - 预期的非限定 ID - #include <array> 编译错误
- libssh 问题编译问题未定义的错误
- Eclipse 问题 - 编译期间不考虑 .c 和 .cpp 文件中定义的预处理
- Visual Studio 2017问题编译了C 代码,而该代码则在Linux中编译
- 这个C++代码有什么问题?编译错误:调用“测试::测试(测试)”没有匹配函数
- 试图编译基本Boost PropertyTree示例时出现问题-编译错误.该怎么做
- 如何解决***缺少分隔符的问题.编译QT(或支持库)时