nochmal zum cout-problem



  • hatte heute schonmal wegen cout gepostet, weil das bei mir nicht ging. ich hatte rausgefunden, dass ich iostream.h includen musste statt iostream, was mich wunderte.

    Mein Prob. ist folgendes: Ich habe eine kleine Anwendung, die ich modifizieren moechte. Diese besteht aus vier Dateien wovon zwei StdAfx.h und StdAfx.cpp sind. Diese beiden Dateien sind (soweit ich dass verstehen konnte) dazu da, die Standard includes zu includen. Jetzt wollte ich zu den vier Dateien zusaetzlich meinen eigenen Code dazupacken. Allerdings bekomme ich beim Compilieren Fehlermeldungen, die mir sagen, dass beispielsweise
    das Symbol cout mehrdeutig waere.

    Hat irgendjemand ne Idee warum das so ist oder was ich dagegen tun koennte?

    Danke



  • hatte heute schonmal wegen cout gepostet, weil das bei mir nicht ging. ich hatte rausgefunden, dass ich iostream.h includen musste statt iostream, was mich wunderte.

    Quatsch. Du hast nur den Namensraumvergessen.

    Diese besteht aus vier Dateien wovon zwei StdAfx.h und StdAfx.cpp sind. Diese beiden Dateien sind (soweit ich dass verstehen konnte) dazu da, die Standard includes zu includen.

    Nein, das sind zwei total bescheuerte Dateien des MSVC, die ich immer rausschmeiße.



  • ja ok dann eben namespace...aber wie erklaert man sich nun die Doppeldeutigkeit
    des Symbols "cout" wie mir der Compiler sagt?!?! Die beiden Files StdAfx.h
    und StdAfx.cpp haette ich auch rausgeschmissen, dachte nur die Fehlermeldung haette damit was zu tun?!?!

    Danke



  • Angenommen du bindest die <iostream.h> ein, ein anderer Header, den du verwendest bindet aber die <iostream> ein (oder andersherum) dann kann es ganz schnell zu mehrdeutigkeiten kommen.



  • Ich denke das Problem wäe gelöst mit cout? Du benutzt den neuen Header, also <iostream> (ohne .h) und dazu noch using namespace std. Also ich weiß ja nicht welche Version des MSVC zu hast, ich habe 7.1 und bei mir funktioniert alles einwandtfrei mit der Benutzung des Standards.

    Code-Hacker



  • sorry, nochmal ne frage bezueglich des couts ... Das Problem bei mir war folgendes: Ich benutzte in meinem Prog eine fremde API, die ohne dass ich es wusste iostream.h includete. Die Mehrdeutigkeit kam daher dass ich nun durch ein eigenes zusaetzliches #include<iostream> compilieren wollte.

    Den Fehler hab ich nun nicht mehr, ich include iostream garnicht mehr, da die API ja iostream.h includiert.

    Genau hierzu haette ich eine Frage:
    War es nicht irgendwie "old-style" gewesen iostream.h zu includieren?

    Wenn ja, wie kann ich ohne an der API rumfuchteln zu muessen dennoch "new-style"-maessig #include<iostream> machen?????

    Danke.


Anmelden zum Antworten