Ich habe eine Klasse mit den folgenden .hC++ warum schlägt diese Vorwärtsdeklaration fehl?
class Book; //forward declaration of Book
class Reader
{
public:
Reader();
void SetBook(Book);
private:
Book book_; // Error Reader::book_ uses undefined class Book
}
und CPP enthält
#include "book.h"
void Reader::SetBook(Book book) { this->book_ = book; }
// Error C2440 cannot convert from Book to int
Ich kann nicht sehen, warum diese Vorwärtsdeklaration würde nicht funktioniert. Auch dann, wenn es nicht einen Fehler für ‚Buch‘ Art wirft in der Erklärung
void SetBook (Book)
Irgendwelche Vorschläge verwendet werden, was hier los?
Folgen Sie diesem Link, wird es hilfreich sein. http://stackoverflow.com/questions/553682/when-cani-i-use-a-forward-declaration – Vrana