2017-05-30 14 views
8

मैं सिर्फ नवीनतम जो जीसीसी 7.1.1 शामिल करने के लिए अपने कट्टर Linux सिस्टम अद्यतन के साथ पर 4 का निर्माण त्रुटि। त्रुटि में आदेश बजना C++ 1Z

clang++ main.cpp -std=c++1z 

परिणामों का उपयोग

#include <functional> 

int main(int argc, char** argv) { 
    return 1; 
} 

: इस का निर्माण करने की कोशिश कर रहा

In file included from main.cpp:1: 
In file included from /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../include/c++/7.1.1/functional:60: 
In file included from /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../include/c++/7.1.1/unordered_map:47: 
In file included from /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../include/c++/7.1.1/bits/hashtable.h:37: 
In file included from /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../include/c++/7.1.1/bits/node_handle.h:39: 
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../include/c++/7.1.1/optional:1032:27: error: use of class template 'optional' 
     requires template arguments 
    template <typename _Tp> optional(_Tp) -> optional<_Tp>; 
         ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../include/c++/7.1.1/optional:451:11: note: template is declared here 
    class optional 
     ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../include/c++/7.1.1/optional:1032:40: error: expected ';' at end of declaration 
    template <typename _Tp> optional(_Tp) -> optional<_Tp>; 
            ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../include/c++/7.1.1/optional:1032:41: error: cannot use arrow operator on a type 
    template <typename _Tp> optional(_Tp) -> optional<_Tp>; 

इस बजना मेरी ओर से एक त्रुटि, मेहराब लिनक्स, या है?

अद्यतन:

  • जीसीसी पैकेज संस्करण 7.1.1-2 (प्रदान करता है/usr/शामिल/C++ dir)
  • बजना पैकेज संस्करण (संस्करण जोड़ने के लिए भूल गया) 4.0.0-3
+4

बजना बस कटौती अभी तक गाइड का समर्थन नहीं करता तरह लग रहा है। – Barry

+0

आह, मुझे एहसास नहीं हुआ कि यह क्या हो रहा था (और सी ++ 17 की सुविधा के रूप में इसके बारे में भूल गया)। धन्यवाद! – ryan0270

+0

वही त्रुटि यहाँ। क्या आपको कोई कामकाज मिला? मुझे मिला एकमात्र जी ++ पर स्विच करना था .. –

उत्तर

6

थोड़ा देर हो चुकी है लेकिन मैं इसे जोड़ना चाहता हूं।

यह:

template <typename _Tp> optional(_Tp) -> optional<_Tp>; 

कटौती गाइडों की उदाहरण है। Here आप इस भाषा सुविधा का अच्छा स्पष्टीकरण पा सकते हैं।

न्यू कि libstdc संस्करण ++ इसके कार्यान्वयन में इसे इस्तेमाल करता है जब -std = C++ 17 या C++ 1Z झंडा उपयोग में है। दुर्भाग्य से क्लैंग अभी तक इस सुविधा का समर्थन नहीं करता है। Clang C++1z status page इसे केवल एसवीएन पर उपलब्ध के रूप में रिपोर्ट करता है।

आप आर्क लिनक्स here के लिए बग रिपोर्ट मिल सकता है।

संबंधित मुद्दे