У меня проблема с двухмерными массивами :(Я чувствую себя очень глупо, и Visual C не помогает мне :(И я также считаю, что моя ошибка очень глупа, но все же я не могу ее найти :(у меня есть этот код:C++ двухмерные массивы с указателями
double matrix[100][100]; //which is full with a matrix 3x4
double nVector[10000]; // for negative doubles
//I wanted to see if there are negative doubles in each row and column
//and I want this to happen with function
И это моя функция:
double* negativeVector(double*nVector, double*fromVector, int m, int n){
int position = 0;
double *myNegArray = nVector;
double *myMatrix = fromVector;
for(int i = 0; i < m*n; i++)
if(*(*(myMatrix+i)) < 0){
*(myNegArray+position) = *(*(myMatrix+i));
position++;
}
return myNegArray;
}
//for double*nVector I'm passing nVector
//for double*fromVector I'm passing *matrix
Visual C говорит мне, что у меня есть ошибка C2100: незаконное косвенность здесь: *(*(myMatrix+i))
Я надеюсь, что кто-то может мне помочь (happy)
Спасибо заранее!
Почему бы не использовать std :: vector? Кроме того, компилятор Visual C++ говорит вам правильную вещь ... – Partial
Вы можете написать на английском, что происходит, поэтому начните с myMatrix + i, напишите прозу о том, что происходит. Затем сделайте то же самое для первого «*», а затем второго. Где-то вы увидите, что то, что вы пытаетесь сделать, не имеет смысла, поэтому компилятор прав. –
WOW люди СПАСИБО ВАМ ТАК ДЛЯ ВАШИХ ОТВЕТОВ !!!! (лук) – r1seUp