#include <iostream>
using namespace std;

struct A {
	A(int i) {}
};

struct B {
	explicit B(int i) {}
};

int main() {
	A a1 = 1;
	A a2(2);
	
//	B b1 = 3; // error: conversion from 'int' to non-scalar type 'B' requested
	B b2(4);
	
	return 0;
}