Я хотел бы создать класс C++, который принимает в качестве аргумента «вектор» int t [9]. Я не понимаю, почему мой код не работает:векторный аргумент в классе C++
Вот содержание заголовка:
class Matrice3x3{
public:
int n;
int t[9];
Matrice3x3 inverse();
float det();
void print();
Matrice3x3(int u = 3);
Matrice3x3(int p[9], int m = 9);
private:
};
А вот содержание описания класса:
Matrice3x3::Matrice3x3(int u) {
n = u*u;
}
Matrice3x3::Matrice3x3(int p[9] , int m){
n = m;
t = p;
}
И я получить эту ошибку:
In constructor 'Matrice3x3::Matrice3x3(int*, int)':
incompatible types in assignment of 'int*' to 'int [9]'
t = p;
^
Я просто не вижу, где я сказал один из [] был указатель ...
спасибо за ответ!
1) в вашем заголовке замените 'int t [9];' на 'int * t;', а назначенный адрес должен быть назначен ранее. 2) почему вы используете «n», если ваш тип Matrix3x3? n равно 9 в любом случае, если это матрица 3x3. –
pour le 2) c'est parce que la question suivante de mon exercice passe à la généralisation aux matrices nxn :) – Gullfaxi171
google для «распада массивов указателям» –