Skip to content

Latest commit

 

History

History
34 lines (29 loc) · 381 Bytes

042.md

File metadata and controls

34 lines (29 loc) · 381 Bytes
//difficulty level: very hard

#include <iostream>
#include <concepts>

template <typename T>
struct Nec {
	Nec(T) 
	{
		std::cout << std::same_as<T, int>;
	}
};

struct A {
	A() = default;
	A(int) {std::cout << 'i'; }
	operator int()const
	{
		std::cout << 'c';
		return 1;
	}
};

Nec(int) -> Nec<A>;
Nec(A) -> Nec<int>;

int main()
{
	A ax;
	Nec n1(3);
	Nec n2(ax);
}