#include <iostream>

auto fun()
{
	int i = 1;
	return i;
}

auto fun2()
{
	enum Result : int { a, b, c };
	Result e = a;
	return e;
}


auto fun3()
{
	struct st{ int m_a; int m_b; };
	st t;
	t.m_a = 1;
	t.m_b = 2;
	
	return t;
}


int main() {
	// your code goes here
	
	std::cout << fun() << std::endl;
	
	auto e1 = fun2();
	auto e2 = fun2();
	
	std::cout << "e1 == e2 - " << (e1 == e2 ? "true" : "false") << std::endl;
	std::cout << "e1 == b - " << (e1 == decltype(e1)::b ? "true" : "false") << std::endl;

	auto t = fun3();
	
	std::cout << "t.m_a = " << t.m_a << std::endl;
	std::cout << "t.m_b = " << t.m_b << std::endl;
	return 0;
}
