2016-01-22 3 views
1

J'ai une question à propos de l'utilisation de pragma dans les classes C++. J'ai lu là-bas (Use of #pragma pack on a class) qui utilisent pragma autour de C++ classe n'est pas recommandé, mais puis-je utiliser pragma comme ceci:Pragma dans C++ struct dans la classe

class TestClass { 
    public: 
    ConfigProtocol(); 

    #pragma pack(1) 
    struct t_config_header { 
     quint8 version; 
     quint8 da; 
     quint16 sa; 
     quint16 counter; 
    }; 
    #pragma pack() 

}; 

Ce ne sera pas erreur?

Répondre

2

Réponse courte: Oui vous pouvez (et dans votre cas, comme il semble que vous implémentez un protocole de communication, en fait, devrait le faire). La manière dont vous utilisez le pragma n'affecte que la structure qui invalide les arguments de la réponse StackOverflow à laquelle vous liez: La structure ne change pas de manière significative tant qu'elle reste structurée.