我正在创建一个类,该类应该有一个矩阵作为受保护的成员在Eigen库的类型MatrixXd
的头类中声明。问题是,如果我将其声明为MatrixXd name(5, 5);
,其中矩阵的维度在括号之间,则编译器将其视为我的类的方法,而不是成员。
你能帮助我吗?
答案 0 :(得分:2)
您所描述的内容称为the most vexing parse,意味着可以解析为函数的所有内容都应该是。我们可以通过更改语法来解决这个问题。
在C ++ 11中,我们可以使用初始化列表语法:
df3 = df1.groupby('Name').apply(
lambda x: pd.Series(
[operation1(x), operation2(x), operation3(x)],
index=['value1','value2','value3']
))
否则,转换其中一个参数可能也有效:
value1 value2 value3
Name
A 71.0 158.0 0.500000
B 0.0 10.0 1.000000
C 68.0 156.0 0.666667