C++ Primer warning: defaulted and deleted functions only available with -std=c++11 or -std=gnu++11
1146 ワード
Sales_item.h:56:18: warning: defaulted and deleted functions only available with -std=c++11 or -std=gnu++11
Sales_item()=default;
^
Sales_item.h:70:27: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11
unsigned units_sold = 0; // explicitly initialized
^
Sales_item.h:71:22: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11
double revenue = 0.0;
^
Sales_item.h:45:7: error: constructor required before non-static data member for ‘Sales_item::units_sold’ has been parsed
class Sales_item {
^
Sales_item.h:45:7: error: constructor required before non-static data member for ‘Sales_item::revenue’ has been parsed
ノック練習中に、以上のエラーメッセージが表示されます.defaulted and deleted functionsの使い方はC++11でサポートされるはずです.
解決方法:
sudo vim ~/.bashrc
そしてパスワードを入力します.
90行目で、#some more ls aliasesに次の内容を追加します.
alias g++11='g++ -g -Wall -std=c++11'
alias g++14='g++ -g -Wall -std=c++14'
別名に相当します.