CPP」タグアーカイブ

[cpp] no template named ‘tuple’ in namespace ‘std’

原因

C++11機能が無効である。

解決方法

C++11機能を有効にする。

-std=c++11

[CPP] 関数束縛

C++11 における関数束縛 (Function Binding) の種類

静的束縛 Static Binding 事前束縛 Early Binding 物理関数 ※1
動的束縛 Dynamic Binding 遅延束縛 Late Binding 仮想関数

※1. C++では仮想関数ではない関数はシンプルに「関数」と呼びます。

 

キーワード

[C] switch文の中の変数宣言が失敗

1. 症状

下記のようにswitchブロックの内部で変数宣言をおこなうとコンパイルエラーとなる。

続きを読む

[CPP] overrideしたいメンバー関数にvirtualを付け忘れるとどうなるか?

派生クラスで override することができるのは、基底クラスで virtual をつけたメンバー関数(=仮想関数)だけです。しかし、もし virtualをつけていない(つけるのを忘れた)メンバー関数(=非仮想関数)を派生クラスで override しようと試みると何が起こるでしょうか?
続きを読む

[CPP] 演算子オーバーロードの糖衣構文的解釈とフレンド関数による解決

プログラミング言語 C++ における演算子オーバーロードの糖衣構文的な解釈と、フレンド関数による解決

1. 演算子オーバーロードの糖衣構文的な解釈

※ 説明をシンプルにするために参照渡しやconst修飾は省略しています。

続きを読む

[CPP] error: more than one instance of overloaded function “abs” matches the argument list

C++のソースコードにおいてabs関数でエラーが発生する。

エラー通知の例

続きを読む