Dev - C++ - Error por comparación entre un puntero y un entero

 
Vista:

Error por comparación entre un puntero y un entero

Publicado por Jeancarlos (1 intervención) el 10/08/2021 01:46:39
Buenas tardes, estaba intentando hacer mi programa, y al compilarlo me da un error el cual dice: "[Error] ISO C++ forbids comparison between pointer and integer [-fpermissive]". Busco alguien que me diga donde esta el error por que no lo encuentro y me dice que esta en la liena 35 columna 19 donde esta el ciclo for de mi función.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include<iostream>
#include <cstdlib>
#include <ctime>
 
using namespace std;
 
void mostrar(int[], double);
int suma(int[]);
 
int main(){
 
	const int tamano = 100;
	int a[tamano];
 
	srand (time(0));
	for(int i = 0; i<tamano; i++){
		a[i] = 1 + rand()% 99;
	}
	mostrar(a, tamano);
	cout<<"La suma de los numeros es: "<<suma(a);
	return 0;
}
 
void mostrar (int b[], double tamano){
	cout<<"Los numeros son: ";
	for(int i = 0; i < tamano; i++){
		cout<<b[i]<<" ";
	}
	cout<<endl;
}
 
int suma(int b[]){
	int sum{0};
 
	for(int j = 0; j<b; j++){
		sum = sum + b[j];
	}
	return sum;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 1.440
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Error por comparación entre un puntero y un entero

Publicado por dario (718 intervenciones) el 10/08/2021 03:16:11
Hola, veo algunos errores:

1) Las constantes se declaran antes de main()

2)En la funcion mostrar declaras una variable tamano de tipo doble, pero esa variable ya
esta declarada como constante.

3) En la funcion suma; la declaracion deberia ser: int suma = 0;

Salu2.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 338
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Error por comparación entre un puntero y un entero

Publicado por Martín (158 intervenciones) el 11/08/2021 03:22:20
Hola.
Con respecto al error de compilación, lo que te dice el compilador es que no puedes comparar un int con un puntero: justo aquí:

1
2
3
for(int j = 0; j<b; j++){
	sum = sum + b[j];
}

cuando haces
1
j < b

j es un int, mientras que b es un puntero a int.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar