因此,我正在读这本书:Jasmin Blanchette撰写的《使用Qt 4进行C ++ GUI编程》,第二版;Mark Summerfield,以学习GUI编程。并且,在按照本书的步骤创建一个简单的电子表格应用程序时,当我尝试编译电子表格小部件时,出现“未定义的引用”错误。
所有错误似乎都源于该Cell *Spreadsheet::cell(int row, int column)函数:
Cell *Spreadsheet::cell(int row, int column) const
{
return static_cast<Cell *>(item(row, column));
}
Run Code Online (Sandbox Code Playgroud)
这是电子表格中抱怨的第一个功能
QString Spreadsheet::formula(int row, int column) const {
Cell *c = cell(row, column);
if (c) {
return c->formula();
} else {
return "";
}
}
Run Code Online (Sandbox Code Playgroud)
该行Cell *c = cell(row, column);发送错误的位置:/home/axel/QtSDK/Code/Spreadsheet/spreadsheet.cpp:-1:错误:未定义对Cell :: Cell()的引用
这总是在cell(row, column)被调用的地方发生。该函数本身在专用部分的spreadhseet标头中定义为:Cell *cell(int row, int column) const;
抱歉,如果看起来很混乱,我对C ++编程有点陌生。
这是我的.pro文件
TEMPLATE = app
CONFIG += console
CONFIG += qt
SOURCES += main.cpp \
spreadsheet.cpp
HEADERS += \
spreadsheet.h
Run Code Online (Sandbox Code Playgroud)
如果我缺少某些东西,我会尽快添加。
谢谢,阿克塞尔
Cell该类的定义不存在。cell.h至少应该这样,并且应该将其包含在电子表格.cpp中,或者其代码可以直接包含在其中,spresheed.h或者.cpp不太可能包含在其中。无论如何,错误意味着缺少Cell构造函数。