当我传递integer给一个时,我想知道clang编译器的以下警告std::initializer_list< size_t >:
non-constant-expression cannot be narrowed from type 'int' to 'unsigned long' in initializer list
Run Code Online (Sandbox Code Playgroud)
为什么可以int转换为a size_t但int不能传递给a std::initializer_list< size_t >,即
int main()
{
size_t s_t = 0;
int i = 0;
std::initializer_list<size_t> i_l = { i }; // warning
s_t = i; // no warning
return 0;
}
Run Code Online (Sandbox Code Playgroud)