@kyklaed

Не пониманию в каком месте несовместимость типов?

Привет, подскажите в чем я ошибаюсь

[Error] invalid conversion from 'int' to 'int*' [-fpermissive]

template<typename T3,typename T4>
void Bubble(T3 N, T4 *mass[]){
	
	bool swap;
	do {
	swap=false;
	for (int i=0;i<N-1;i++){
	    if (mass[i]<mass[i+1]){
	        swap=true;
	        cout<<mass[i];
	        T3 temp = mass[i];
	        mass[i]=mass[i+1];
	        mass[i+1]=temp;
	      }
	  }
	} while (swap);
	
	for ( int i =N-1;i>=0;i--){
		cout<<mass[i]<<"\n";
	}
}


int main(){
	int n;
	int m;
	cin>>n;
	int *mass = new int [n];
	for(int i=0;i<n;i++){
		cin>>m;
		mass[i]=m;
	}
	Bubble(n, &mass);
	return 0;
}
  • Вопрос задан
  • 182 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Xano
в функции Bubble переменная mass имеет тип **int, вследствие чего и все проблемы.
mass[i+1]=temp: mass[i+1] имеет тип *int, temp имеет тип int

P.S. оформление кода оставляет желать лучшего и является одной из главных причин подобных ошибок
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы