値をフェッチし、そのタイプの自動を使用して推定される変数に割り当てる場合、コードが細かいコンパイル動作の違いプライベート構造体の明示指定タイプ対自動車を使用して
class BST
{
struct Node
{
int data_;
Node * left_, * right;
} * root_ = nullptr;
public:
Node * getRoot()
{
return root_;
}
};
int main() {
BST bst;
auto root1 = bst.getRoot(); // Compiles fine
BST::Node * root2 = bst.getRoot(); // Gives error
}
次のコードスニペットを考えます。型を明示的に指定すると失敗します。なぜこの行動の違い?私は両方が失敗すると思った。
エラーメッセージは何ですか? –