2017-06-20 3 views
-4

In Windows kann ich jede Variable sehen, die ich in einem Namespace außerhalb dieses Namespace deklariert habe, aber wenn es zum Multi-Compiler kommt, ist es so streng, wenn Sie eine Variable in Let Namespace X deklariert haben, Sie müssen auf diese Variable nur im Namespace X zugreifen, aber ich möchte auf diese Variable auch von außerhalb des Namespace zugreifen.Integrity RTOS Multi Compiler

Gibt es Präprozessor-Definitionen oder eine Möglichkeit, dies zu ermöglichen. Es ist ein Muss für mich, ich kann die Namespaces nicht löschen.

Jede Art von Hilfe wird geschätzt.

namespace X 
{ 
    int a = 5; 
} 

int b = a + 6; 

result: a is undefined in multi compiler 
+0

Bitte Code für Ihre Fragen zur Verfügung stellen, und Fehler, wenn Ihr Compiler über beschwert etwas. –

+0

Ich möchte, aber das ist ein privates Projekt, das ist, warum ich Code nicht zur Verfügung stellen kann Ich kann nur ein Beispiel geben –

+0

Ich würde gerne, aber das ist ein privates Projekt, deshalb kann ich keine Hilfe bieten kann ich nur zufällige Vermutungen geben. Bitte schreiben Sie einen minimalen Code, der Ihren Fehler auslöst, ohne den wir nicht helfen können, weil es rätseln würde. –

Antwort

0

Als Alternative jeden Einsatz zu qualifizieren:

namespace X 
{ 
    int a = 5; 
} 
using X::a; // In the global namespace, a now means X::a 

int main() 
{ 
    int b = a + 6; // Per the using-declaration, this is X::a 
}