-, , , , , , , . - , , , " ", " , , ?". .
, -.
- - foo({f});, , , , .
foo({i});, foo({3}); (3 , double , 3 double ). , .
:
enum E : unsigned { };
int main()
{
E e{};
bar(e);
}
, . , E to unsigned int , , E - int, .
, , , short , int, char16_t, char32_t wchar_t, .
, , , :
struct A
{
operator double() { return 7.0; }
};
int main()
{
A a{};
foo(a);
}
, , , - ( foo(double)).