首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >qt错误:“Protocol::Protocol()”的多个定义

qt错误:“Protocol::Protocol()”的多个定义
EN

Stack Overflow用户
提问于 2016-06-04 07:46:28
回答 1查看 788关注 0票数 2

我在Protocal.h文件中编写了一个类。

代码语言:javascript
复制
#ifndef PROTOCOL_H
#define PROTOCOL_H

class Protocol{
public:
    Protocol();

    void analyse();
};

Protocol::Protocol() {}

void Protocol::analyse() {
}

#endif // PROTOCOL_H

在sinffer.h文件中,我使用这个头文件

当我构建这个项目时,有一些错误,我不知道为什么。

在我的.pro文件中

这里只写一次协议.h文件。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-04 08:37:55

您可以使用以下方式定义协议构造器的主体:

在类定义中(隐式内联)

代码语言:javascript
复制
 // protocol.h    
 class Protocol {
 public:
    Protocol() {
      // in the class definition
    }
    ...
 };

显式内联

代码语言:javascript
复制
 // protocol.h    
 class Protocol {
 public:
    Protocol();
    ...
 };
 // 
 inline Protocol::Protocol() {
 // inline prevents double definition error when you include protocol.h
 }

放入cpp文件

代码语言:javascript
复制
 // protocol.h    
 class Protocol {
 public:
    Protocol();
    ...
 };
 // protocol.cpp
 #include "protocol.h"
 Protocol::Protocol() {
 }
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37627768

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档