cari

Rumah  >  Soal Jawab  >  teks badan

java - C++ 编译器选择问题

平时用codeblocks,编译时出现这些问题,上网查结果很少,要么跳转要英文网站,请问这是因为这款软件默认GCC编译而提示这样的错误(gcc的特定语法?)还是英文导致搜索结果少(我用百度)

处理这些问题老是半天都找不到解决方法。如果前者,我应该改大众一些的IDE,如vc++;如果后者,我应该改为中文?

应该是前者吧,因为搜索结果老是看到gcc字眼,如果在cb里设置为vc++编程是否错误显示就是vc类型了呢?

附图_原错误代码

PHP中文网PHP中文网2803 hari yang lalu601

membalas semua(3)saya akan balas

  • 高洛峰

    高洛峰2017-04-18 10:53:30

    n tidak diisytiharkan dalam skop

    balas
    0
  • 迷茫

    迷茫2017-04-18 10:53:30

    Terdapat tiga struktur pengisytiharan biasa yang berkaitan dengan templat fungsi: mengisytiharkan templat fungsi, mengisytiharkan pengkhususan dan mengisytiharkan kejadian.

    template <class T, ...>
    void foo();
    
    template <>
    void foo<T1, T2, ...>(); // 除非是特化含参数包的模板,否则参数列表不能为空
    
    template void foo<T1, T2 ...>(); // 同上
    

    Begitu juga dengan operator lebih muatan

    template <class T>
    std::ostream &operator<<(std::ostream &, Seqlist<T> &);
    
    template <>
    std::ostream &operator<<<int>(std::ostream &, Seqlist<int> &);
    
    template
    std::ostream &operator<<<int>(std::ostream &, Seqlist<int> &);
    

    Saya rasa anda tidak pakar di sini, anda hanya mahu mengisytiharkan templat. Kerana anda menggunakan parameter templat dalam senarai parameter fungsi. Rujuk cara penulisan pertama.

    Jika anda tidak melakukan terlalu banyak pembangunan templat, bebanan strim << sebenarnya adalah rutin ini, hanya menghafalnya. Satu lagi bentuk biasa ialah

    template <class CharT, class Traits>
    std::basic_ostream<CharT, Traits> &operator<<(std::basic_ostream<CharT, Traits> &, ??);
    

    Saya rasa tidak ada keperluan untuk menukar pengkompil saya boleh mempelajari sintaks daripada buku. Jika anda ingin mencari, anda perlu mencari "kaedah penulisan overloading ostream" dan kemudian membandingkan kod. Jika ia adalah penggunaan templat yang sangat mendalam, carian mesej ralat sintaks salinan tidak akan dapat mengetahui sebabnya.

    balas
    0
  • 阿神

    阿神2017-04-18 10:53:30

    Mesej ralat yang diberikan oleh pengkompil kepada anda adalah sangat jelas. Mungkin anda tidak boleh membaca bahasa Inggeris. Jangan risau tentang pengkompil yang hendak dipilih, pengkompil itu tidak bersalah, gcc cukup bagus

    balas
    0
  • Batalbalas