获得;“未定义引用”;在QT Creator中调用定义的函数时 我正在阅读这本书:Jasmin Blanchette QT 4的C++ GUI编程,第二版;马克·萨默菲尔德,为了学习GUI编程。在遵循W书的步骤创建一个简单的电子表格应用程序的同时,我得到了一个“未定义的参考” 尝试编译电子表格小部件时出错

获得;“未定义引用”;在QT Creator中调用定义的函数时 我正在阅读这本书:Jasmin Blanchette QT 4的C++ GUI编程,第二版;马克·萨默菲尔德,为了学习GUI编程。在遵循W书的步骤创建一个简单的电子表格应用程序的同时,我得到了一个“未定义的参考” 尝试编译电子表格小部件时出错,c++,qt,C++,Qt,所有错误似乎都源于Cell*电子表格::Cell(int行,int列)函数: Cell *Spreadsheet::cell(int row, int column) const { return static_cast<Cell *>(item(row, column)); } 其中,行单元格*c=单元格(行、列)发送错误:/home/axel/QtSDK/code/Spreadsheet/Spreadsheet.cpp:-1:错误:未定义对“Cell::Cell()的引

所有错误似乎都源于
Cell*电子表格::Cell(int行,int列)
函数:

Cell *Spreadsheet::cell(int row, int column) const
{
    return static_cast<Cell *>(item(row, column));
}
其中,行
单元格*c=单元格(行、列)
发送错误:/home/axel/QtSDK/code/Spreadsheet/Spreadsheet.cpp:-1:错误:未定义对“Cell::Cell()的引用”

在调用
单元格(行、列)
的任何地方都会发生这种情况。函数本身在专用部分的spreadhseet头中定义为:
Cell*Cell(int行,int列)const

对不起,如果看起来很乱,我对C++编程有点新。

这是我的.pro文件

TEMPLATE = app
CONFIG += console
CONFIG += qt

SOURCES += main.cpp \
           spreadsheet.cpp

HEADERS += \
           spreadsheet.h
如果我遗漏了什么,我会尽快补充

谢谢,
Axel

缺少
单元格
类的定义。它至少应该是
cell.h
,并且应该包含在电子表格.cpp中,或者它的代码可以直接包含在
spresheed.h
.cpp
中,可能性较小。无论如何,该错误意味着缺少
单元格
构造函数。

您的
.pro
文件是什么样子的?添加了
.pro
文件^^^^我的电子表格.cpp的include部分有
#include./Cell/Cell.h”
,或者我应该包含对cell.h的另一个引用吗?在项目中添加文件cell.h和cell.cpp。要执行此操作,请单击项目树根目录(左侧面板)上的右键,然后选择“添加现有文件”
恭喜!然后请检查我的答案,通过按下大绿V,并与Qt和C++的乐趣)
TEMPLATE = app
CONFIG += console
CONFIG += qt

SOURCES += main.cpp \
           spreadsheet.cpp

HEADERS += \
           spreadsheet.h