Help! is there errors in codes copied from book ?
-
I'm a total greenhand on qt,and I lent some books form library. I copied the "helloworld" code from the book to my QTcreator, and it ran perfectly. But when I started to build some more conplex code copied from the book, it start to make errors.
this is the code:
@
//addressbook.h#ifndef ADDRESSBOOK_H
#define ADDRESSBOOK_H#include <QWidget>
class QLineEdit;
class AddressBook : public QWidget
{
Q_OBJECT
public:
AddressBook(QWidget *parent = 0);
private:
QLineEditor * nameline;
QTextEditor * addresstext;
};#endif // ADDRESSBOOK_H
@
It said the "QLineEditor" (and lots of other things) need declaeration in the scope. Is there missing some lib or header?Edit: please use @ tags around code sections; Andre
-
In the adressbook.cpp file you should also use:
#include <QLineEdit>
Google for Forward declaration to understand why.
Please add @ code tags on your code. See the button with <> on it on top of the editor here.
-
You must include QLineEdit and other which you use
@#include <QLineEdit>@Edit:
As Eddy says. I'm late little bit :) -
It is spelled QLineEdit, not QLineEditor. In addition, you are missing a forward declaration for QTextEdit in your .h file.
-
[quote author="qxoz" date="1322203431"]You must include QLineEdit and other which you use
#include <QLineEdit>[/quote]As long as you just use pointers a forward declaration is sufficient. There is no need to include headers.
-
[quote author="Lukas Geyer" date="1322203500"]
As long as you just use pointers a forward declaration is sufficient. There is no need to include headers.[/quote]In fact, in most cases it's good practice to not include the header where a forward declaration is sufficient. Speeding up compile time is only one of the advantages.
-
[quote author="Lukas Geyer" date="1322203450"]It is spelled QLineEdit, not QLineEditor. In addition, you are missing a forward declaration for QTextEdit in your .h file.[/quote]
I think that's the point. the reason i include qlineedit is it said something is not decleared. there is no include qlineedit on the book.
-
Samples in books often ommit includes for classes provided by well-known libraries for the sake of brevity. Often, you can download the samples as working source code, and there the needed includes will be there.