Fehler Header



  • Hallo Guten Tag,

    programmiere gerade bei eclipse und habe das Problem das die Fehlermeldung bei ostream nicht weg geht 😃

    Wo liegt das Problem

    #ifndef CTIP_H_
    #define CTIP_H_
    
    class CTip {
    private:
    	unsigned short m_numbers[6];
    	unsigned short m_countNumbers = 0;
    
    public:
    	CTip();
    	virtual ~CTip();
    	bool addNumber( unsigned short number );
    	bool isValid();
    	unsigned short operator* (CTip& other);
    	friend ostream& operator<<(ostream& out ,const CTip& tip);
    };
    ostream& operator<<(ostream& out ,const CTip& tip);
    
    #endif /* CTIP_H_ */
    

    cpp

    #include "CTip.h"
    #include<iostream>
    using namespace std;
    #include<string>
    
    CTip::CTip() {
    	// TODO Auto-generated constructor stub
    
    }
    
    CTip::~CTip() {
    	// TODO Auto-generated destructor stub
    }
    

    Fehler

    Description Resource Path Location Type
    'ostream' does not name a type CTip.h /CTIP line 22 C/C++ Problem
    'ostream' does not name a type CTip.h /CTIP line 24 C/C++ Problem
    Type 'ostream' could not be resolved CTip.h /CTIP line 22 Semantic Error
    Type 'ostream' could not be resolved CTip.h /CTIP line 22 Semantic Error
    Type 'ostream' could not be resolved CTip.h /CTIP line 24 Semantic Error
    Type 'ostream' could not be resolved CTip.h /CTIP line 24 Semantic Error



  • hat sich erledigt .
    habe <iostream> hinzugerfügt.

    * CTip.h
     *
     *  Created on: 17.10.2017
     *      Author: Medion
     */
    
    #ifndef CTIP_H_
    #define CTIP_H_
    #include<iostream>
    using namespace std;
    #include<string>
    class CTip {
    private:
    	unsigned short m_numbers[6];
    	unsigned short m_countNumbers = 0;
    public:
    	CTip();
    	virtual ~CTip();
    	bool addNumber( unsigned short number );
    	bool isValid();
    	unsigned short operator* (CTip& other);
    	friend ostream& operator<<(ostream& out ,const CTip& tip);
    };
    ostream& operator<<(ostream& out ,const CTip& tip);
    
    #endif /* CTIP_H_ */
    

    Nur noch ein Fehler :
    Description Resource Path Location Type
    undefined reference to `WinMain' CTIP line 18, external location: C:\repo\mingw-w64-crt-git\src\mingw-w64\mingw-w64-crt\crt\crt0_c.c C/C++ Problem



  • Du mußt Deiner IDE sagen, daß sie unter Windows eine Konsolenanwendung bauen soll. Wenn du das nicht machst, denkt sie, daß Du eine Windowsanwendung mit Fenstern erstellen willst. Da ist der Einstiegspunkt WinMain, nicht wie in Standard C++ main.

    VG



  • Ich bin mir gerade bim Konstruktor net so sicher .

    Folgende Zusicherungen sind gegeben:

    1<=m_numbers[i]<=49 für 0<=i<=5

    und

    0<=m_countNumbers<=6

    ) Implementieren Sie den Konstruktor unter Berücksichtigung der vorgegeben Initialwerts.
    Das Array muss nicht initialisiert werden.

    Mein Code sieht so aus,hat aber Fehler

    #include "CTip.h"
    #include<iostream>
    using namespace std;
    #include<string>
    
    CTip::CTip(unsigned short m_countNumbers) {
    	if(m_countNumbers>= 0 && m_countNumbers<=6){
    
    		m_countNumbers = number;
    	}
    
    }
    
    CTip::~CTip() {
    	// TODO Auto-generated destructor stub
    }
    


  • Furz33 schrieb:

    Ich bin mir gerade bim Konstruktor net so sicher .

    Schon wieder? 😕



  • Ne Idee?



  • Furz33 schrieb:

    Ne Idee?

    Dein Compiler sagt Dir doch, was falsch ist.

    VG



  • Description Resource Path Location Type
    'number' was not declared in this scope CTip.cpp /CTIP line 16 C/C++ Problem
    Symbol 'number' could not be resolved CTip.cpp /CTIP line 16 Semantic Error

    Der Compiler erkennt das Number nicht 😃
    Daher bin ich mir auch nicht sicher ob der Konstruktor bei mir falsch ist oder was genau 😃



  • Furz33 schrieb:

    Description Resource Path Location Type
    'number' was not declared in this scope CTip.cpp /CTIP line 16 C/C++ Problem
    Symbol 'number' could not be resolved CTip.cpp /CTIP line 16 Semantic Error

    Der Compiler erkennt das Number nicht 😃
    Daher bin ich mir auch nicht sicher ob der Konstruktor bei mir falsch ist oder was genau 😃

    Wo hast Du "number" definiert?



  • Deine Header Datei ist nicht korrekt, da fehlen die include-Anweisungen für ostream . Außerdem ist ostream nicht vollständig qualifiziert. Du solltest entweder iostream oder iosfwd inkludieren und deinen ostream Typen ein "std:: voranstellen.

    Edit:
    Ich sehe gerade, dass du in deiner Header-Datei ein using namespace std stehen hast. Das gehört da definitiv nicht hin, da es das komplette namespace Konzept aushebelt. Das erklärt auch, warum der Compiler sich nicht über die fehlenden std:: Präfixe beschwert.



  • Danke die Aufgabe habe ich schon fertig .
    Bin jetzt bei dem 2 Aufgabenteil beim verzweifeln.

    https://www.pic-upload.de/view-34129557/c.png.html

    Wieder beim Konstruktor beim hängen:

    #ifndef CLOTTOTICKET_H_
    #define CLOTTOTICKET_H_
    #include<iostream>
    using namespace std;
    #include<string>
    #include "CTip.h"
    class CLottoTicket{
    private:
    	string m_name;
    	unsigned short m_maxTips;
    	unsigned short m_countTips = 0;
    	CTip* m_tips;
    
    public:
    	CLottoTicket(string name, unsigned short maxTips = 12);
    	~CLottoTicket();
    	string getName();
    	CLottoTicket& operator+=(CTip tip);
    	float winnings(CTip drawing, float winFor3, float winFor4,float winFor5,float winFor6);
    
    };
    

    cpp

    /*
     * CLottoTicket.cpp
     *
     *  Created on: 19.10.2017
     *      Author: Medion
     */
    #include<iostream>
    using namespace std;
    #include<string>
    #include"CLottoTicket.h"
    #include "CTip.h"
    CLottoTicket::CLottoTicket(string name, unsigned short maxTips ){
          m_name = name;
          if(m_maxTips >=6){
        	  m_maxTips = maxTips;
        	  for(int i = 6; i>=m_maxTips; i++){
    
        	  m_maxTips[i]= maxTips;
        	  i++;
        	  }
          }
    }
    

    Ist es so richtig das ich eine for Schleife einbaue?

    ich war mir nicht sicher ob man eine for schleife braucht ?
    Das mit dem Minimalwert habe ich weg gelassen noch.
    Ich hoffe das der code jetzt keinen shit storm auslöst 😃



  • Furz33 schrieb:

    for(int i = 6; i>=m_maxTips; i++){
    

    Ist es so richtig das ich eine for Schleife einbaue?

    Funktioniert es, oder hast Du eine Endlosschleife?



  • Eclipse meckert nur 1 mal:

    Description Resource Path Location Type
    invalid types 'short unsigned int[int]' for array subscript CLottoTicket.cpp /CTIP line 19 C/C++ Problem

    Soll ich die unsigned short in der header zu unsigned short int .... umbenennen?



  • Furz33 schrieb:

    invalid types 'short unsigned int[int]' for array subscript CLottoTicket.cpp /CTIP line 19 C/C++ Problem

    Zeile 19: m_maxTips ist KEIN Array oder Pointer.

    Was soll überhaupt die Schleife? Dir fehlen die einfachsten C++ Grundlagen, durch rumprobieren wirst Du die Aufgabe nicht lösen.



  • Furz33 schrieb:

    Soll ich die unsigned short in der header zu unsigned short int .... umbenennen?

    Du weißt überhaupt nicht was du tust oder? Lern lieber mal die Grundlagen, das da führt zu gar nix. Du kannst nicht bei jeder Aufgabe für jede Zeile Code hoffen, dass hier im Forum jemand deine Arbeit macht...



  • Ja aber in der Aufgabe steht das ich ein Array für maxTips allpkieren soll ?

    Na gut aber .
    Erfahrungsgemäss weiß ich ja , dass hier nichts erklärt wird .

    Trotzdem danke



  • Furz33 schrieb:

    Ja aber in der Aufgabe steht das ich ein Array für maxTips allpkieren soll ?

    Na gut aber .
    Erfahrungsgemäss weiß ich ja , dass hier nichts erklärt wird .

    Trotzdem danke

    Leute wie dich gibt´s hier immer wieder. Keine Eigeninitiative und konsequentes Ignorieren aller Vorschläge. Da muss man nix mehr erklären, da ist jedes einzelne Wort zu viel. Kommt ja eh´ nicht an, warum soll man sich die Mühe machen?



  • ja aber ich habe ja auch Ansätze gepostet ,da kann man ja wenigstens beim beheben der Fehler helfen ?
    Sonst macht das Forum überhaupt kein Sinn .
    Wieso soll man eine Frage stellen ,wenn man alles schon weiss?
    Aus meiner Sicht macht das keinen Sinn.



  • * CLottoTicket.cpp
     *
     *  Created on: 19.10.2017
     *      Author: Medion
     */
    #include<iostream>
    using namespace std;
    #include<string>
    #include"CLottoTicket.h"
    #include "CTip.h"
    CLottoTicket::CLottoTicket(string name, unsigned short maxTips ){
          m_name = name;
          if(m_maxTips >=6){
        	  m_maxTips = maxTips;
    
        	  m_maxTips[m_tips]= maxTips;
          }
    }
    


  • Furz33 schrieb:

    Ja aber in der Aufgabe steht das ich ein Array für maxTips allpkieren soll ?

    Na gut aber .
    Erfahrungsgemäss weiß ich ja , dass hier nichts erklärt wird .

    Trotzdem danke

    osdt_ hat Dir um 1:09 erklärt, was Dein Problem ist. Wenn Du mit den Begriffen Array und Pointer nichts anzuifangen weißt, solltest Du erstmal ein Grundlagenbuch lesen.

    VG


Anmelden zum Antworten