Articles of lançando

Como converter um inteiro para anular o ponteiro?

Ao trabalhar com Threads em C, estou enfrentando o aviso “aviso: convertido para ponteiro de um número inteiro de tamanho diferente” O código é o seguinte #include #include #include #include void *print(void *id) { int a=10; printf(“My thread id is %ld\n”,pthread_self()); printf(“Thread %d is executing\n”,id); return (void *) 42; } int main() { pthread_t th[5]; […]

C: Quando está lançando entre tipos de ponteiro comportamento não indefinido?

Como recém-chegado ao C, estou confuso sobre quando a seleção de um ponteiro é realmente OK. Pelo que entendi, você pode muito bem converter qualquer tipo de ponteiro para qualquer outro tipo, e o compilador permitirá que você faça isso. Por exemplo: int a = 5; int* intPtr = &a; char* charPtr = (char*) intPtr; […]

Posso converter uma class derivada para uma class base privada, usando o cast de estilo C?

Posso fazer isso? class A { … }; class B : private A { const A &foo() const { return *((const A *)this); } }; Posso pegar uma subclass que herda de forma privada de uma class base e lançá-la em uma versão pública de sua class base? Posso fazer isso sem ter methods virtuais? […]

Qual é a diferença entre boxe / unboxing e tipo casting?

Qual é a diferença entre boxe / unboxing e tipo casting? Muitas vezes, os termos parecem ser usados ​​de forma intercambiável.

Não é possível converter de List para List <List >

Uma lista bruta é convertida para List Bem. Por que uma lista de listas brutas não pode ser convertida em uma lista de List ? { // works List raw = null; List wild = raw; } { // Type mismatch: cannot convert from List to List<List> List raw = null; List<List> wild = raw; […]

casting char para char ** causa segfault?

Ok, meu C está um pouco enferrujado, mas eu imaginei que faria meu próximo (pequeno) projeto em C para que eu pudesse polir novamente nele e menos de 20 linhas em Eu já tenho uma falha seg. Este é o meu código completo: #define ROWS 4 #define COLS 4 char main_map[ROWS][COLS+1]={ “a.bb”, “ac”, “adc.”, “.dc.”}; […]

Por que “int é uint == true” em c #

Alguém pode esclarecer o C # is palavra is chave, por favor. Em particular estas 2 perguntas: Q1) linha 5; Por que isso retorna verdadeiro? Q2) linha 7; Por que não há exceção de casting? public void Test() { object intArray = new int[] { -100, -200 }; if (intArray is uint[]) //why does this […]

erro: casting de ‘void *’ para ‘int’ perde precisão

Eu tenho uma function com o protótipo void* myFcn(void* arg) que é usado como ponto de partida para um pthread. Eu preciso converter o argumento para um int para uso posterior: int x = (int)arg; O compilador (GCC versão 4.2.4) retorna o erro: file.cpp:233: error: cast from ‘void*’ to ‘int’ loses precision Qual é a […]

Modificando uma const através de um ponteiro não-const

Estou um pouco confuso com o que aconteceu no seguinte código: const int e = 2; int* w = ( int* ) &e; // (1) cast to remove const-ness *w = 5; // (2) cout << *w << endl; // (3) outputs 5 cout << e << endl; // (4) outputs 2 cout << "w […]

Por que unsigned 0xFFFFFFFF é igual a int -1?

Em C ou C ++, é dito que o número máximo que um size_t (um tipo de dados int não assinado) pode conter é o mesmo que o casting -1 para esse tipo de dado. por exemplo, consulte Valor inválido para size_t Por quê? Quero dizer, (falando sobre ints de 32 bits) AFAIK o bit […]