我正在使用std::array<array<float, 4,3> = . . .
我在理解如何格式化以下代码时遇到麻烦,因此不会出现以下错误:
g++ array2d_colors.cpp -o array2dcolors.o
array2d_colors.cpp: In function ‘void arrayStart()’:
array2d_colors.cpp:36:7: error: too many initializers for
‘std::array<std::array<float, 4ul>, 3ul>’ };
^
using namespace;
array<array<float,4>,3> color = {
{ 0.0 , 0.1686 , 0.2117 },
{ 0.0274 , 0.2117 , 0.2588},
{ 0.3450 , 0.4313 , 0.4588},
{ 0.3960 , 0.4823, 0.5137}
};
此代码在另一项研究中起作用:
using namespace;
array<array<float, 2>, 2> a1 = {{{5,6},{7,8}}};
这是很多“ {的”。如果要创建一个16x3怎么办? 我会感谢您的帮助。
答案 0 :(得分:2)
您已将初始化程序数组转置为Agent::is('Windows');
Agent::isNexus();
Agent::isMobile();
数组。因此,它与ReadData() {
var self = this;
Office.context.document.customXmlParts.getByNamespaceAsync("namespace", function (asyncResult) {
self.ngxXml2jsonService = asyncResult
});
}
的声明不匹配。
您可以使用:
4 x 3
如果需要一个color
数组,则必须更改初始化程序数组。
例如:
array<array<float, 3>, 4> color =
{
{ 0.0 , 0.1686 , 0.2117 }, // 1st of four of the outer array
{ 0.0274 , 0.2117 , 0.2588},
{ 0.3450 , 0.4313 , 0.4588},
{ 0.3960 , 0.4823, 0.5137} // 4th of four of the outer array
};
答案 1 :(得分:1)
问题1 :切换尺寸
vector
问题2 :在初始化程序中明确提及数组的类型。编译器无法推断出它。
df[paste0(names(df)[-1], ".var")] <- lapply(df[-1], function(x)
ave(x, df$cluster, FUN = min) - x)
df
# cluster x y x.var y.var
#1 A 3 4 -1 -3
#2 B 4 5 -3 -2
#3 B 1 3 0 0
#4 A 5 1 -3 0
#5 A 2 2 0 -1
#6 B 6 6 -5 -3
答案 2 :(得分:1)
做事时
array<array<float,4>,3> color
您说的是内部数组有4个元素,外部数组有3个元素。因此,当您定义3 * 4矩阵时,它变为4 * 3矩阵。
尝试做:
array<array<float,3>,4> color = {{
{ 0.0 , 0.1686 , 0.2117 },
{ 0.0274 , 0.2117 , 0.2588},
{ 0.3450 , 0.4313 , 0.4588},
{ 0.3960 , 0.4823, 0.5137}
}};
并记得添加{{-在定义内部数组的数组之前添加两个大括号,您会很好的!!