keyword interface



  • hallo leute

    ist 'interface' ein c++ keyword ?
    ich weiß das MS VC __interface als eignes keyword hat, aber interface ?
    hab nen source bekommen, den ich bei mir einbinden wollte, der hat jedoch einen namespace 'interface' wo pure virtual classes definiert sind.
    VC2015 gibt mir da aber beim kompilieren

    error C2059: Syntaxfehler: "<class-head>"
    

    aus.

    Meep Meep



  • Nein ist kein Keyword und mein VS2015 nimmt es als Name für ein Namespace. Möglicherweise irgendein Header wo auch irgendwas interface heißt? Kannst du ein Minimalbeispiel posten?



  • #include <Windows.h>
    
    namespace interface
    {
       int quad(int i) { return i*i; }
    }
    
    auto WINAPI WinMain(HINSTANCE, HINSTANCE, char*, int) -> int
    {
       interface::quad(2);
    
       return 0; 
    }
    


  • Das Problem kommt durch den Windows.h Header. In der BaseTyps.h steht folgendes:

    #define __STRUCT__ struct
    #define interface __STRUCT__
    

    Ich hab aber noch nicht rausgefunden wie der Header geladen wird und ob man das irgendwie loswerden kann. Zur Not ein #undef .



  • Ein #define WIN32_LEAN_AND_MEAN vor dem Include von Windows.h scheint zu schon reichen.



  • hmm
    bei mir kann ich ueber das kontextmenu nicht auf die definition springen wenn ich interface anklicke. dachte daher das es ein eingebautes keyword von VC ist.
    MS und die verdammten #defines gehen mir tierisch auf die nerven


Log in to reply