最为接近的我可以想做的是执行这一条。 测试代码>的初始范围包括一系列大小 9.9 您可以通过提供<条码>来做到这一点。 测试编码> 系指在参考时使用<代码>const char[9]的构件。 在这样做时,只能用大体尺寸8的字面来构造物体。
Here is an example of this:
struct Test
{
Test(const char (&str)[9]) { std::copy(str, str + 9, name); }
char name[ 9 ];
};
Test gv_Test[ ] = {
{ "a" },
{ "12345678" },
{ "longstri0" }
};
int main()
{
}
http://coliru.stacked-crooked.com/a/2401b20feb3f03ee'rel=“nofollow noreferer” 页: 1 是
main.cpp:29:1: error: could not convert {"a"} from <brace-enclosed initializer list> to Test
29 | };
| ^
| |
| <brace-enclosed initializer list>
main.cpp:29:1: error: could not convert {"longstri0"} from <brace-enclosed initializer list> to Test
29 | };
| ^
| |
| <brace-enclosed initializer list>
显示字面太小或大,会产生错误,但<代码>{“12345678”}汇编了罚款。