Açıklaması şöyle. Aynı isim alanı içinde aynı isime sahip iki struct tanımı olamaz.
file1.cpp dosyasında şu struct olsunif one .cpp file defines struct S { int x; }; and the other .cpp file defines struct S { int y; };, the behavior of the program that links them together is undefined.
struct S2 { int a; char b; };
file1.cpp dosyasında şu struct olsunstruct S2 { int a; char bb; };
int main(){ return 0;}
Kodu derleyelimg++ -std=c++11 file1.cpp file2.cpp
Kodun davranışı tanımsızdır (undefined). Ayrıca derleyici uyarı vermek zorunda değildir.
Hiç yorum yok:
Yorum Gönder