我正在用C ++编写一个矩阵操作类作为课程项目。我希望语法尽可能接近MATLAB。我希望为矩阵实现一个构造函数,它允许我执行如下所示的操作:
String myUsername = userNameInputET.getText().toString();
if(mUsersRef.child(myUsername).getValue() == null) {
//do stuff
} else {
//do other stuff
}
我尝试过使用Matrix X(3,3) = {1, 2, 3, 4, 5, 6, 7, 8, 9};
// [1 2 3]
// X = [4 5 6]
// [7 8 9]
构造函数但只允许我这样做:
initializer_list
这是我的构造函数的代码:
Matrix X(3,3,{1, 2, 3, 4, 5, 6, 7, 8, 9});
我需要有关如何实施第一个的建议。
答案 0 :(得分:2)
你的问题在于语法。
Matrix X(3,3) = {1, 2, 3, 4, 5, 6, 7, 8, 9};
不是合法的c ++,因为您在一个声明中同时使用direct initialization语法和aggregate initialization语法。这意味着你想做的事情无法奏效。但是,您可以这样做:
Matrix X(3,3);
X = {1, 2, 3, 4, 5, 6, 7, 8, 9};
我相信它会与您的代码一起使用。