Vì vậy, trong khóa học CSE của chúng tôi, chúng tôi có một tệp tiêu đề để sử dụng ngay bây giờ cho các chương trình mà chúng tôi đang viết.Biên dịch trong C++ 14
Thật không may tôi không thể lấy thiết bị đầu cuối để biên dịch bằng cách sử dụng tiêu đề đó, nó cung cấp cho khá một vài lỗi (biên dịch chỉ với 'g ++'). Ngoài ra, khi tôi đang ở trường đại học của tôi và tôi đang sử dụng PuTTY tôi nhận được các lỗi tương tự trong khi sử dụng tiêu đề này. Tuy nhiên, tôi không nhận được các lỗi khi biên dịch với 'g ++ -std = C++ 14'.
Tôi đã thử biên dịch bằng lệnh này trên thiết bị đầu cuối trên máy Mac của mình, nhưng nó cho biết nó không nhận ra phần C++ 14.
dhcp-10-202-147-243:hw1pr1 Admin$ g++ -std=c++14 hw1pr1.cpp
error: invalid value 'c++14' in '-std=c++14'
Bất kỳ trợ giúp nào về cách làm việc này sẽ được đánh giá cao. Hy vọng rằng tất cả điều này làm cho một số loại ý nghĩa.
Đây là lỗi tôi nhận được khi tôi biên dịch với tệp tiêu đề tôi đang nói đến trong thiết bị đầu cuối chỉ với g ++.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ext/hash_map:212:5: warning:
Use of the header <ext/hash_map> is deprecated. Migrate to <unordered_map>
[-W#warnings]
# warning Use of the header <ext/hash_map> is deprecated. Migrate to ...
^
In file included from read_first_name.cpp:1:
./std_lib_facilities_4.h:43:20: error: no matching function for call to object
of type 'hash<char *>'
return hash<char*>()(s.c_str());
^~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ext/__hash:39:12: note:
candidate function not viable: 1st argument ('const value_type *'
(aka 'const char *')) would lose const qualifier
size_t operator()(char *__c) const _NOEXCEPT
^
In file included from read_first_name.cpp:1:
./std_lib_facilities_4.h:112:8: warning: comparison of unsigned expression < 0
is always false [-Wtautological-compare]
if (i<0||size()<=i) throw Range_error(i);
~^~
./std_lib_facilities_4.h:118:8: warning: comparison of unsigned expression < 0
is always false [-Wtautological-compare]
if (i<0||size()<=i) throw Range_error(i);
~^~
3 warnings and 1 error generated.
lỗi này không xảy ra và chương trình sẽ biên dịch hoàn toàn khi tôi sử dụng PuTTY và 'g ++ std = C++ 14'
Có thể đăng tệp tiêu đề hoặc quá dài không? – APerson
Thử '-std = C++ 1y' cho đến khi trình biên dịch được cập nhật. Vì dự thảo sơ bộ này đã được theo dõi đặc biệt tốt và chỉ giống như tiêu chuẩn cuối cùng, nên đủ tốt. – Deduplicator
Bạn nên kiểm tra các phiên bản của tiêu chuẩn được hỗ trợ bởi phiên bản trình biên dịch của bạn. – Angew