Giriş
Anonymous Namespace .h dosyasında olmamalı. Yoksa ODR kuralı ihlal edilebilir.
Örnek
Bir sürü cpp dosyasında aynı isimli sınıf tanımlı olsun.
Anonymous Namespace .h dosyasında olmamalı. Yoksa ODR kuralı ihlal edilebilir.
Örnek
Bir sürü cpp dosyasında aynı isimli sınıf tanımlı olsun.
// test1.cpp
...
class Foo { void bar() {...} };
...
ve// test2.cpp
...
class Foo { void bar() {...} };
...
Linkleme aşamasında hata alırız. Çözmek için şöyle yaparız. Böylece Foo sınıfı translation unit içinde kalır.namespace /*no name here makes it anonymous*/{
class Foo { void bar() {...} };
}
Hiç yorum yok:
Yorum Gönder