Neste artefato, estamos trabalhando nesses erros e ver como resolvê -los em c++.
Tendo diferentes tipos de dados de variáveis durante a comparação:
Depois de usar o namespace padrão, declaramos a função nesta instância. Em seguida, inicializamos a variável 'V' para o valor e atribuímos o valor 1. Aplicamos a condição if para comparar o valor com a função. Se o valor for maior que a função, haverá um incremento em 1 no valor. A função tem que retornar o valor. Agora começamos o corpo principal do código. Declaramos a variável 'V'.
#incluir
usando namespace std;
int f (int j, int k)
int v = 1;
if (v> f)
retornar (v+1);
retornar v;
int main ()
int v = f (4,7);
retornar 0;
Após a compilação, obtemos o erro 'ISO C ++ proíbe a comparação entre ponteiro e número inteiro [-fpermissive]', então o programa não é executado.
Quando aplicamos a condição se (v> f), cometemos um erro aqui. Comparamos a função com o número inteiro, então aqui esta comparação está errada. Sempre compare aquelas variáveis que contêm um tipo de dados semelhante. Quando uma avaliação é imprecisa, adquiriremos esse tipo de erro. Portanto, aqui, temos que avaliar com alguns valores integrais. Aqui eliminamos a chamada de função e a avaliamos com um valor inteiro. Ao fazer isso, o erro pode ser resolvido.
Tipo inválido 'duplo (int)':
No início do programa, englobamos a biblioteca . Então definimos o tamanho da lista. No corpo principal, definimos as variáveis. O tipo de dados da lista é 'duplo'. Declaramos a função 'get_avg' com o tipo de dados duplo. Passamos dois parâmetros para a função. Em seguida, declaramos a variável 'soma' com o tipo de dados duplo. Solicitamos loop e o valor é incrementado para obter a soma.
#incluir
#Define Tamanho 15
int main (void)
lista dupla;
duplo get_avg (lista dupla const [], int r);
int j;
soma dupla = 0;
int n [tamanho];
para (j = 0; jsoma += lista [j];
retornar (soma);
Aqui também recebemos o mesmo erro. Porque a função sempre contém os argumentos com o mesmo tipo de dados. E neste código, passamos o parâmetro da função com diferentes tipos de dados.
Use a instrução if-else:
Este programa inclui primeiro o arquivo de cabeçalho para fins de entrada e saída. Em seguida, usamos o namespace padrão. No corpo principal do código, declaramos a string 's'. O tipo de dados da string é 'char'. Passamos o valor 5 como um argumento para a string. Além disso, aplicamos a condição if-else; Se o usuário inserir 'xyz', a função 'cout' será exibida 'correta' na tela; Caso contrário, ele exibe uma mensagem 'na correta'.
#incluir
usando namespace std;
int main ()
char s [5];
cout << "Enter string";
CIN >> s;
if (s == 'xyz')
cout << "correct";
outro
cout << "In correct";
retornar 0;
Quando executamos o programa, adquirimos o erro: 'ISO C ++ proíbe a comparação entre ponteiro e número inteiro [-fpermissive]. If (s == 'xyz'), aqui 's' é constante char* tipo. E isso é uma variedade de personagens. Mas aqui, 'xyz' é deliberado como um valor inteiro. Deve ser um valor insistente da string devido ao fato de que uma única cotação é deliberada como um valor integral.
Temos diferentes tipos de erros depois de executar os programas. Os erros são de dois tipos de erro de tempo de execução e erro de tempo do compilador. Este erro é um erro de tempo de execução.
Como resolver o erro?
A seguir, integrando o arquivo de cabeçalho e usando o namespace padrão. Fazemos mais codificação no corpo principal. A string é declarada. Usamos 'cout' para imprimir a mensagem 'Enter a string' na tela, para que o usuário digite a string. Para verificar a condição, usamos a declaração if-else.
#incluir
usando namespace std;
int main ()
cordas;
cout << "Enter the string: ";
CIN >> s;
if (s == "xyz")
cout << "correct";
outro
cout << "In correct";
retornar 0;
Portanto, para comparação, temos que utilizar aspas duplas "xyz". E indique -o como uma variável de string. Agora podemos nos relacionar usando S == “XYZ”.
À medida que o usuário insere a sequência 'xyz', o programa imprime corretamente porque definimos a mesma string no código acima. O usuário inseriu uma string e a string definida é a mesma, então obtemos esta saída.
Conclusão:
Este artigo define primeiro o erro ISO C ++ proíbe a comparação entre ponteiro e número inteiro. Também explicamos o motivo por trás deste erro. E o método para resolver este problema. Quando comparamos as variáveis com, diferentemente dos tipos de dados, adquirimos esse tipo de erro. Para eliminar esse tipo de erro, precisamos utilizar variáveis com tipos de dados idênticos ao comparar duas variáveis.