我在c++
创建应用程序,它正在创建gui并将数据写入描述符。起初我创建了_window
,这是我的gui的处理程序。接下来,我创建了_conn
,它是用于写入数据的对象。我希望conn
中有_window
,所以我分配了它。
现在,我想在点击按钮时发送一些数据。问题是我甚至无法编译代码 - 我收到错误:
error: undefined reference to `conn::writeData(int, char*, int)'
真的不知道出了什么问题。当我把调试点放在这一行时,它仍然没有编译。当我删除这一行时 - 代码正在编译。
这是我的代码:
//main.cpp
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow _window;
conn * _conn = new conn(argc, argv);
_window._conn = _conn;
}
//conn.h
class conn
{
public:
conn(int argc, char ** argv);
int sock;
void writeData(int fd, char * buffer, int count);
};
//conn.cpp
void writeData(int fd, char * buffer, int count){
//TODO
}
//mainwindow.h
public:
conn * _conn;
//mainwindow.cpp
void MainWindow::on_pushButton_clicked()
{
//_conn->writeData(_conn->sock, "hello", 5);
}
答案 0 :(得分:2)
由于您未实施conn::writeData
,因此存在关联错误。
void writeData(int fd, char * buffer, int count){
//TODO
}
应该是
void conn::writeData(int fd, char * buffer, int count){
//TODO
}