#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;}