字符串文字边界数组 new 表达式第一维参数的示例
Example of string literal bounding array new-expression first dimension argument
来自cppreference:
In the following cases the expression specifying the first dimension is erroneous:
- the value is smaller than the number of array elements provided in the brace-enclosed initializer (including the terminating
[=10=]
on a string literal).
有人可以提供一个字符串文字太长以至于它限制了数组 new 表达式的第一个维度的示例吗?
我好像想不出来:(
我看到的唯一有点相似的是 auto p1 = new char[1][5]{"xyz"};
但这与第一维无关。
Could someone provide an example for string literal being too long such that it bounds the first dimension of an array new-expression?
抱歉,但是...如果我没理解错的话,问题是字符串文字的数量,而不是单个字符串文字的长度
我的意思是:问题是当你把东西写成
auto p = new char[1][10]{"abc", "123"};
如果是二维数组char
.
如果是 char
的一维数组,请参阅 Barry 的回答。
像这样:
new const char[2]{"this is way more than one character"};
请注意,gcc 甚至无法编译 new const char[2]{"x"}
,但这是一个正交问题。
来自cppreference:
In the following cases the expression specifying the first dimension is erroneous:
- the value is smaller than the number of array elements provided in the brace-enclosed initializer (including the terminating
[=10=]
on a string literal).
有人可以提供一个字符串文字太长以至于它限制了数组 new 表达式的第一个维度的示例吗?
我好像想不出来:(
我看到的唯一有点相似的是 auto p1 = new char[1][5]{"xyz"};
但这与第一维无关。
Could someone provide an example for string literal being too long such that it bounds the first dimension of an array new-expression?
抱歉,但是...如果我没理解错的话,问题是字符串文字的数量,而不是单个字符串文字的长度
我的意思是:问题是当你把东西写成
auto p = new char[1][10]{"abc", "123"};
如果是二维数组char
.
如果是 char
的一维数组,请参阅 Barry 的回答。
像这样:
new const char[2]{"this is way more than one character"};
请注意,gcc 甚至无法编译 new const char[2]{"x"}
,但这是一个正交问题。