如何确保类型安全的字符串初始化?

Spo*_*man 5 c++ string std type-conversion

我该如何让这段代码无法编译?

std::string foo;
foo = 3;
Run Code Online (Sandbox Code Playgroud)

我知道它int可以转换为char(恕我直言,一个错误。谢谢,C),并且std::string有一个char赋值运算符(恕我直言,也是一个错误)。