ここで B のオブジェクトを初期化することを期待していましたが、代わりに関数宣言を取得しました。
#include <iostream>
using namespace std;
class A {};
class B { 
    public: 
        B(const A&) { 
        cout << "B: conversion constructor\n"; 
    } 
};
int main()
{
    B b( A() ); //function declaration: B b( A(*)() );
    b.test();
}
出力は次のとおりです。非クラス型 'B( A( *)() )'*である 'b' のメンバー 'test' の要求
この状況でコンストラクターが呼び出されないのはなぜですか?