Beim Definieren eines privaten Modulfragments für ein C++20-Modul wird
scheint nicht in einem Namespace definiert werden zu können. Daher muss ich meinen Namespace mehrmals in mein Einzeldatei-C++20-Modul eingeben, damit sich die Zeile module :private; nicht in einem Namespace befindet. Dies erfordert zusätzliche Eingaben, fügt dem Code Zeilen hinzu und birgt die Gefahr von Tippfehlern:
Code: Select all
export module Foo.Bar;
namespace Foo
{
export class Bar
{
...
}
}
module :private;
namespace Foo
{
...Implementation details
}
Da ich von C# komme, mag ich die Einfachheit der einzelnen Datei und die Trennung von Schnittstelle und Implementierung, aber angesichts der Tatsache, dass ich diese Klasse unbedingt in einem Namespace definieren möchte, gibt es keinen Weg, die Eingabe zu umgehen? den Namespace zweimal?