【发布时间】:2018-10-10 17:15:49
【问题描述】:
int main()
{
std::vector<char> delimiters = { ",", ";" };
std::cout << delimiters[0];
}
我在 gcc 和 clang 之间得到不同的答案
clang7.0.0 打印出来,
gcc8.2.0 报错
在抛出 'std::length_error' 的实例后调用终止 what(): 无法创建大于 max_size() 的 std::vector
中止
哪个编译器是正确的?
【问题讨论】:
-
std::vector<char> delimiters = { ",", ";" };- 引号类型错误。 -
两者都是正确的。这是未定义的行为。
标签: c++ gcc vector initialization clang