#include <iostream>
using namespace std;
char problem5(char alc[], char a, int *n);
int main() {
char aloc1[]={ 'g','g','c','g','a','g','g','g','t','g'};
int size=sizeof(aloc1)/sizeof(aloc1[0]);
cout << aloc1 << endl;
int nalc = problem5(aloc1, 'g' ,&size);
cout << nalc << endl;
return 0;
}
char problem5(char alc[], char c, int *n){
int a = 0;
for(int i = 0; i < n; i++){
if(alc[0]!=c){
a++;
}
}
int nalc[a];
int b=0;
for(int j = 0; j < n; j++){
if(alc[0]!=c){
nalc[b]=alc[j];
b++;
}
}
*n=&a;
return nalc;
}
Почему у меня возникают ошибки на двух для циклов проблемы5? говорит что-то вроде сравнения между указателем и int. Как я могу исправить это, пока аргумент n остается указателем.сравнение между указателем и int C++ ellipse
Возможный дубликат [Ошибка: ISO C++ запрещает сравнение между указателем и целым числом] (http://stackoverflow.com/questions/11987524/erroriso-c-forbids-comparison-between-pointer-and-integer) – Mgetz
и там другая проблема выходит ... не может инициализировать возвращаемый объект типа 'char' с lvalue типа 'char [a]' –
в обратном nalc; –