2011-08-06 30 views
5

Şablonlar içeren bir hatayla karşılaştığında hata numarasını açıklayan bir satır numarası ve cümle döndürecek olan gcc derleyicisi için bir bayrak veya değişiklik olup olmadığını merak ediyorum, ancak şablon genişletme kodunun sayfasını yazdırmıyor Bu gibi hataları takip eden spagetti. Bunun yerine böyle bir hata nedeniyle Örneğingcc derleyici bayrağı?

:

temp.cc:9: error: class has no member named hat. 
+0

Boru çıkışı sed veya perl komut dosyasıyla mı? – msandiford

+1

Clang'i deneyin - bu, clang frontend'in tasarım özelliklerinden biridir. – osgx

cevap

1

birini Orada isnt: Böyle bir şey istiyorum

temp.cc:9: error: ‘class std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char,  std::char_traits<char>, std::allocator<char> > > > >’ has no member named ‘hat’ 

. Derleyici, soruna neden olan sınıfı tanımlamanıza yardımcı olmaya çalışıyor. Şablon sınıfının genişletilmesi olarak sadece o sınıfı bilir.

+0

Bu yardım etmek için trys, ancak STL kullanıcı STL geliştirici tarafından ihtiyaç duyulan tüm char_traits .... demet görmek için gerek yok. – osgx

0

gcc'nin bunun için bir bayrağı yok, ancak sed işini kolayca çözebilir.