Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » FLTK, C++, Stroustrup Buch

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
30.01.2021, 01:02 Uhr
Humpen



Hallo zusammen,

ich arbeite im Moment an dem Buch Programming Principles and Practise using C++ von Stroustrup. Falls jemand das Buch kennt es geht um Kapitel 13.6 Open Polyline.

Folgender Code wird sollte Funktionieren:


C++:
#include "Graph.h"
#include "Simple_window.h"

int main()
{
    using namespace Graph_lib;
    
    Graph_lib::Open_polyline opl = {
        Point{100,100}, Point{150,200}, Point{250,250}, Point{300,200}
    };
        win.attach(opl);
        win.wait_for_button();
}




Die Definition von Open_polyline sieht so aus:

C++:
struct Open_polyline : Shape {   // open sequence of lines
using Shape::Shape;                 // use Shape’s constructors (§A.16)
void add(Point p) { Shape::add(p); }
};




Beim Erstellen bekomme ich folgende zwei Fehler:

Auf ""Graph_lib::Open_polyline::Open_polyline(std::initializer_list<Graph_lib::Point> lst)" (implizit deklariert)" kann nicht zugegriffen werden.

"Graph_lib::Open_polyline::Open_polyline": Kein Zugriff auf protected Member, dessen Deklaration in der Graph_lib::Open_polyline-Klasse erfolgte.

Ich komme einfach nicht dahinter was ich tun muss damit es geht. Könnt ihr mir helfen mich an das Problem heranzutasten?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
30.01.2021, 09:53 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Hi,

du erbst "private" - du musst "public" erben, dann ist auch der std::initializer_list constructor aus Shape verfügbar:


C++:
struct Open_polyline : public Shape {


--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
30.01.2021, 14:16 Uhr
Humpen



Danke das scheint es gewesen zu sein, die Fehlermeldungen sind jetzt weg, aber ich bekomme weitere:

Fehlerliste:
LNK2001 Nicht aufgelöstes externes Symbol ""public: __thiscall Graph_lib::Shape::Shape(class std::initializer_list<struct Graph_lib::Point>" (??0Shape@Graph_lib@@QAE@V?$initializer_list@UPoint@Graph_lib@@@std@@@Z)". Alle_Kapitel DDEV C++\PPPC++\Kap13\Alle_Kapitel\main.obj 1

LNK1120 1 nicht aufgelöste Externe Alle_Kapitel DDEV C++\PPPC++\Kap13\Alle_Kapitel\Release\Alle_Kapitel.exe 1



Ausgabe:
1>DDEV C++\PPPC++\Kap13\Alle_Kapitel\Graph.h(103): message : beim Kompilieren der Klasse Vorlage-Memberfunktion "Graph_lib::Vector_ref<Graph_lib::Button>::~Vector_ref(void)"

1>DDEV C++\PPPC++\Kap13\Alle_Kapitel\GUI.h(97): message : Siehe Verweis auf die gerade kompilierte Instanziierung "Graph_lib::Vector_ref<Graph_lib::Button>::~Vector_ref(void)" der Funktions-Vorlage.

1>DDEV C++\PPPC++\Kap13\Alle_Kapitel\GUI.h(99): message : Siehe Verweis auf die gerade kompilierte Klasse Vorlage-Instanziierung "Graph_lib::Vector_ref<Graph_lib::Button>".

1>main.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: __thiscall Graph_lib::Shape::Shape(class std::initializer_list<struct Graph_lib::Point>" (??0Shape@Graph_lib@@QAE@V?$initializer_list@UPoint@Graph_lib@@@std@@@Z)".

1>DDEV C++\PPPC++\Kap13\Alle_Kapitel\Release\Alle_Kapitel.exe : fatal error LNK1120: 1 nicht aufgelöste Externe


Brauchst du bestimmte Codeausschnitte?
Edit: Ich würde gerne mal den Code oder Screenshots uploaden aber das geht nicht (sehe keine Möglichkeit)

Dieser Post wurde am 30.01.2021 um 14:35 Uhr von Humpen editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
03.02.2021, 19:17 Uhr
ao

(Operator)


Sieht aus, als hättest du vergessen, die Graph-Bibliothek dazuzulinken.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: