Этот вопрос может быть простым, но я никогда не использую сырые указатели или массивы в C ++, поэтому ...
Мне нужно использовать библиотечную функцию, которая выглядит следующим образом:
void f(double a[3][3], double b[3], double c[3]);
a
и b
используются для ввода, а результат сохраняется в c
.
Вычисление a
немного сложное, но никогда не меняется, поэтому имеет смысл рассчитать его только один раз и сохранить результат. В моей программе я могу связать его с объектом типа X
.
class X{
public:
X(){
a = {{1,2,3},
{4,5,6},
{7,8,9}};
}
private:
double a[3][3];
}
Как написать геттер для X::a
, который можно использовать в функции f
?
Вот так я бы хотел вызвать функцию f:
#include "X.h"
int main(int argc, char *argv[]){
X o = X(); //create object
double a[3][3] = o.getA(); // I want to get a somehow
double b[3] = {1,2,3}; // create dummy b
double c[3] = {}; // create empty c
f(a,b,c); // call funktion to populate c
for(int i=0; i<3; ++i){
std::cout << c[i] << endl;
}
}