• 3039阅读
  • 4回复

[提问]if(eventType == "windows_generic_MSG") 提示出错 [复制链接]

上一主题 下一主题
离线simonfly
 

只看楼主 倒序阅读 楼主  发表于: 2018-12-19
刚接触Qt,做个全局热键时,按照网上的资料照抄,可是一直出错,请教!
两个错误
1. no mach for 'operateor==' (operand types are 'const QByteArray' and const char [20]')
2. invalid operand to binary expression ( 'const QByteArray' and const char [20]')

bool MyWinEventFilter::nativeEventFilter(const QByteArray &eventType, void *message, long *){    if(eventType == "windows_generic_MSG")    {
    }    return false;}
离线simonfly

只看该作者 1楼 发表于: 2018-12-19
刚接触Qt,做个全局热键时,按照网上的资料照抄,可是一直出错,请教!
两个错误:
1. no mach for 'operateor==' (operand types are 'const QByteArray' and const char [20]')
2. invalid operand to binary expression ( 'const QByteArray' and const char [20]')

bool MyWinEventFilter::nativeEventFilter(const QByteArray &eventType, void *message, long *)
{
    if(eventType == "windows_generic_MSG")
    {

    }
    return false;
}
离线笑颜

只看该作者 2楼 发表于: 2018-12-19
既然编译器提示你没有合适的比较运算符操作函数,那你可以自己写一个,或者找一个有比较运算符的函数,比如if(eventType == "windows_generic_MSG") 改成if(eventType == QByteArray("windows_generic_MSG")),我不知道行不行,但是得顺着编译器的意思来!
离线simonfly

只看该作者 3楼 发表于: 2018-12-19
回 笑颜 的帖子
笑颜:既然编译器提示你没有合适的比较运算符操作函数,那你可以自己写一个,或者找一个有比较运算符的函数,比如if(eventType == "windows_generic_MSG") 改成if(eventType == QByteArray("windows_generic_MSG")),我不知道行不行,但是得顺着编译器的意思来! (2018-12-19 08:44) 

谢谢回复。。。。

按你说的改了,还是不行。但是根据新的错误提示,加了include,就好了。
网上的那些,怎么都没有include QByteArray呢,可能在那里配置了。
离线kaon

只看该作者 4楼 发表于: 2018-12-20
可能在include别的header时候包含了QByteArray
快速回复
限100 字节
 
上一个 下一个