Funções de impressão em cpp [duplicado]
Oct 25 2020
Por que sempre que imprimo uma função em cpp, ela imprime 1. ie
#include <iostream>
using namespace std;
void f1(){
cout<<"called function f";
}
int f2(){
cout<<"called f2";
return 1;
}
int main(){
cout << f2 <<endl; // prints 1
cout << f1 <<endl; // still prints 1
}
Só estou me perguntando por que ele imprime 1.
Obrigado pela ajuda
Respostas
1 MikeCAT Oct 25 2020 at 20:20
Parece que está julgando se as funções (convertidas em ponteiros para funções) não são nulas, retornando truee imprimindo truecomo 1. Isso pode ser confirmado adicionando cout << std::boolalpha;e vendo o resultado alterado para true.
#include <iostream>
using namespace std;
void f1(){
cout<<"called function f";
}
int f2(){
cout<<"called f2";
return 1;
}
int main(){
cout << std::boolalpha;
cout << f2 <<endl; // prints true
cout << f1 <<endl; // also prints true
}
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?