Enviado em 28/06/2020 - 18:02h
Estou tomando uma verdadeira surra com esses problemas de conversão em C++, Nunca apanhei tanto em minha vida!Bt_Fl_Check_Button->copy_label():
Bt_Fl_Check_Button->copy_label(Bt_Fl_Check_Button->value()); // Não funciona claro!
// PARA COMPILAR: Precisa da Biblioteca FLTK
// g++ Test.cpp -o Test -lfltk -O3 -Wall -pedantic -pedantic-errors -Werror
#include <FL/Fl_Window.H>
#include <FL/Fl_Check_Button.H>
void Bt_Fl_Check_Button_Click(Fl_Check_Button *Bt_Fl_Check_Button, void*) {
char Msg[12];
sprintf(Msg, "%d", Bt_Fl_Check_Button->value());
Bt_Fl_Check_Button->copy_label(Msg);
//----------------------------------------------------------------------------------------------------
// Tenho que trazer o valor char para const char*
//Bt_Fl_Check_Button->copy_label(Bt_Fl_Check_Button->value()); // error: invalid conversion from ‘char’ to ‘const char*’ [-fpermissive]
//Bt_Fl_Check_Button->copy_label(strdup(Bt_Fl_Check_Button->value())); // error: invalid conversion from ‘char’ to ‘const char*’ [-fpermissive]
//Bt_Fl_Check_Button->copy_label(const_cast<const char*>(Bt_Fl_Check_Button->value())); // error: invalid const_cast from type ‘char’ to type ‘const char*’
//Bt_Fl_Check_Button->copy_label((const char)Bt_Fl_Check_Button->value()); // error: invalid conversion from ‘char’ to ‘const char*’ [-fpermissive]
//----------------------------------------------------------------------------------------------------
//Bt_Fl_Check_Button->copy_label((const char*)Bt_Fl_Check_Button->value()); // error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
// 2 erros
// error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
// error: cannot convert ‘int*’ to ‘const char*’
//Bt_Fl_Check_Button->copy_label((int*)Bt_Fl_Check_Button->value());
//Bt_Fl_Check_Button->copy_label((int)Bt_Fl_Check_Button->value()); // error: cannot convert ‘int*’ to ‘const char*’
// 2 erros
// error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
// error: invalid conversion from ‘void*’ to ‘const char*’ [-fpermissive]
//Bt_Fl_Check_Button->copy_label((void*)Bt_Fl_Check_Button->value());
//----------------------------------------------------------------------------------------------------
//Bt_Fl_Check_Button->copy_label((const char*)(intptr_t)Bt_Fl_Check_Button->value()); // COMPILA BUT... Segmentation fault | USA #include <stdint.h>
//Bt_Fl_Check_Button->copy_label(reinterpret_cast<const char*>(Bt_Fl_Check_Button->value())); // COMPILA BUT... Segmentation fault
}
int main() {
Fl_Window *FrmMain = new Fl_Window(150, 40);
Fl_Check_Button *Bt_Fl_Check_Button = new Fl_Check_Button(10, 10, 130, 20, "Fl_Check_Button");
Bt_Fl_Check_Button->callback((Fl_Callback*)Bt_Fl_Check_Button_Click);
FrmMain->show();
return Fl::run();
}
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Não to conseguindo resolver este problemas ao instalar o playonelinux (1)
Excluir banco de dados no xampp (1)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta