Wywołanie konstruktora konwertującego

0

Cześć.
Mam kod:

#include <iostream>

using namespace std;

struct p {
p(double)
{
cout << "doub\n";
}
};


int main(){

p a(static_cast<p>(6.6));
p b = (p)6.6;
p(6.6);
 
return 0;
}

Który z tych konstruktorów zostanie wywołany niejawnie?

p a(static_cast<p>(6.6));
p b = (p)6.6;
p(6.6);

Wydaje mi się, że w każdym przypadku będą wywołane jawnie, ale czy mógłby to ktoś potwierdzić?

0

p(6.6); - to nie jest konstruktor.

0

Niejawnie to byłoby

p c = 6.6;
0

Dzięki za rozwianie wątpliwości :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1