Pragma und Warnungen



  • Hallo..
    Ich habe ein kurze Frage:
    Wirkt sich "#pragma warning(disable:4786)" nicht auf Funktionen aus?

    Ich habe eine Funktion geschrieben, die das gleiche macht, die der Code innerhalb der Main() Funktion (zum Testen). Dann habe ich im Kopf der Quelltext-Datei stehen:

    #include <iostream>
    #include <string>
    #include <vector>
    using namespace std;
    
    #pragma warning(disable:4786)
    

    Bevor das Pragma dort stand, erhielt ich 6 Warnungen vom Compiler. Nachdem es dort stand noch 3. Diese 3 Warnungen werden durch die Funktion verursacht, in der genau das gleiche steht wie in der Main() Funktion. Deswegen die Frage, ob sich das Pragma nicht auf Funktionen auswirkt.



  • entweder du hast das pragma an der falschen stelle stehen, oder es waren garnicht die gleichen warnungen.

    #pragma warning(disable:4786) genau macht, kannst du sicher in der doku lesen.



  • Die Stelle an der es steht sieht man ja oben im Codestückchen. Und es sind exakt die gleichen Warnungen, deswegen kommt es mir ja so komisch vor.



  • Das #pragma wirkt nur für den Quelltext, der dahinter kommt (der Präprozessor arbeitet deine Dateien sequentiell ab), d.h. an dieser Stelle wirkt er nicht auf Warnungen, die aus den genannten Headern stammen.

    (btw, was ist C4786 eigentlich?)


Anmelden zum Antworten