为什么在QT定义一个公有类,形参是我自定义的结构体,结构体定义所在的头文件也添加了,但是编译就是说这个结构体未声明?

LeiSure_ 2012-05-27 01:58:55
#ifndef CHATDLG_H
#define CHATDLG_H

#include <QDialog>
#include "System.h"
#include "qtqq.h"

namespace Ui {
class chatDlg;
}

class chatDlg;
typedef struct win_df{ //将帐号与窗体绑定的结构体
char qnumber[20];
chatDlg * chat_dialog;
}_chat;

//typedef struct Cli_to_Ser{ //客服端达到服务器的消息
// int command; //标志消息的用途 同时也用来接受服务器处理数据后返回的信号,与发过去的值相同表示操作失败!
// //0:注册;1:登录 1:注册成功;0:登录成功
// char s_number[20]; //发送信息的帐号;
// char r_number[20]; //告诉服务器这段信息处理后应该发往哪个帐号对应的套接字;
// char text[BUFSIZ];
//}CtoS;

class chatDlg : public QDialog
{
Q_OBJECT

public:
explicit chatDlg(QWidget *parent,int flag,char my_number[20],char number[20],int *chat_socket);
~chatDlg();

private:
Ui::chatDlg *ui;
char chat_to_who[20];
char chat_from_who[20];
int *send_to_where;
int type;
private slots:
void on_sendBtn_clicked();


public:
void show_mes(CtoS friend_mes);
};

#endif // CHATDLG_H
结构体的定义在那个System.h里
这是一个聊天窗口的头文件,public里的自定义函数是当主界面收到消息时新建这个窗口,然后让它显示消息
...全文
421 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
LeiSure_ 2012-05-27
  • 打赏
  • 举报
回复
把所有关于结构体定义的头文件都注释掉了竟然还是只报一处错误,这是怎么个情况,C++好久没碰,已经是个菜鸟了,求救阿!!
LeiSure_ 2012-05-27
  • 打赏
  • 举报
回复
我又试了下,发现只要是system里定义的结构体,作为这个public类的形参编译都会说结构体类型未声明,但是这个窗体的原文件里都用了这个结构体类型,只报这一处错误,其他的为什么不报?不存在编译到头文件里出错源文件就不编译的吧?

23,120

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧