gpt4 book ai didi

c++ - 使用字符串 vector 初始值设定项时,出现运行时错误 "terminate called after throwing instance of ` std::length_error`"

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:18:39 24 4
gpt4 key购买 nike

<分区>

我在 test.cpp 中有以下代码:

#include <vector>
#include <string>

class A {
public:
static const std::vector<std::string> foo;
};
const std::vector<std::string> A::foo {{"bar", "baz"}};

int main() {}

它编译了,但是当我运行它时,出现以下错误:

terminate called after throwing an instance of 'std::length_error'
what(): basic_string::_S_create
Aborted (core dumped)

为什么会出现此错误?

希望无关紧要:我使用的是 g++ 4.8.2,带有 -std=c++11

旁白:我故意在类外初始化了 foo。如果我在类内部执行此操作,编译器会告诉我需要进行类外初始化(这在我看来很荒谬)。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com