C++] error: 'const xxx' を 'this' 引数として渡すと修飾子が破棄される [-fpermissive] [C++] error: 'const xxx' を 'this' 引数として渡すと修飾子が破棄される。
2022-02-15 05:32:54
1. エラーメッセージの解析
error: passing 'const xxx' as 'this' argument discards qualifiers [-fpermissive]
直訳: エラー: 'const xxx' を 'this' 引数として渡すと、修飾子が破棄されます。
discards qualifiers: const 型を変更しようとしたときに修飾子を破棄します。
-fpermissive: 非修飾コードに関する特定の診断をエラーから警告にダウングレードします。したがって、-fpermissive を使用すると、いくつかの非修飾コードがコンパイルされるようになります。
2. エラーの再発
struct Count{
uint32_t c;
Count(uint32_t i=0):c(i){}
uint32_t getCount(){
return c;
}
uint32_t add(const Count& count){
uint32_t total = c + count.getCount();
return total;
}
};
add(const Count& count) の引数 count は const で、関数内部で count.getCount(); を呼び出して使用していますが、getCount は非 const です。
メソッドを修正します。
uint32_t getCount() {...} を uint32_t getCount() const {...} に置き換える。
関連
-
C++11での移動セマンティクス(std::move)と完全な前進(std::forward)。
-
解決策:エラー:'cout'は型名ではありません。
-
エラー: ローカル変数 'res' に関連付けられたスタックメモリのアドレスが返された
-
コンパイルエラー: 制御が非ボイド関数の末尾に達する可能性がある
-
ソースファイルをコンパイルするとDev C++のランタイムエラーが発生し、コンパイルできない
-
エラー: コンストラクタ、デストラクタ、または '.' トークンの前に型変換が必要です。
-
警告:組み込み関数 'malloc' の互換性のない暗黙の宣言を修正する方法
-
ISO C++ではポインタと整数の比較は禁止されています[-fpermissive]。
-
C++: エラー C2228: '.str' の左側にはクラス/構造体/結合が必要
-
c++のエラー: エラーC2601: 'main' : ローカル関数定義が不正
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
C++:ソースファイルを開くことができない問題
-
vs2015 はソースファイル stdio.h を見つけることができない 解決策
-
error: '&' トークンの前にイニシャライザーがあるはずです。
-
error: label 'xxxxxxx' [-fpermissive] にジャンプします。
-
非静的メンバ関数の無効な使用
-
gccコンパイルエラーの一覧
-
C++: エラー C2280: 削除された関数を参照しようとしています。
-
警告: この関数では 'p' が初期化されていない状態で使用されることがあります。
-
ランタイムエラー: 'std::logic_error' のインスタンスを投げた後に terminate が呼び出されました。
-
C++ inet_pton, inet_ntop 関数