Tengo otra advertencia molesta a la que me gustaría haber ido. Básicamente, tengo una int declarada así: @property (nonatomic, assign) int *myInt;
y se configura así: myInt = 0;
. También se sintetiza en el archivo de implementación. Recibo una advertencia en la línea donde establezco el valor int y dice Incompatible intiger to pointer conversion assigning to 'int *' from 'int'.
¿Qué debo hacer para solucionar esto?Entero incompatible con la conversión del puntero asignando a 'int *' desde 'int'
18
A
Respuesta
55
¡Hay una gran sugerencia en el mensaje de error!
En C y el objetivo C, un int
es un tipo de datos primitivo. Has escrito int *
, que significa "un puntero a una int", mientras que parece que solo querías una int.
Así que cambia su propiedad a esto:
@property (nonatomic, assign) int myInt;
Para obtener más información, Google "punteros de C" y usted encontrará información como esta: http://pw1.netcom.com/~tjensen/ptr/pointers.htm
2
Otra forma de resolver esto es simplemente no declarar un puntero (dejar caer el asterisco):
@interface ViewController : UIViewController {
NSUInteger myObjcInt; // unsigned (>= 0) NSObject int, yo
}
12
Sí, basta con quitar asterisco (*
) de la declaración.
para example.declare BOOL IsChecked en lugar de BOOL * isChecked.
1
int *MyInt
es un puntero a int, not a int.
Como le dijeron otros, simplemente elimine el *
y tendrá una int regular.
Cuestiones relacionadas
- 1. la conversión a número entero Int
- 2. Conversión del puntero entero en entero
- 3. Asignando int a byte en java?
- 4. conversión de int a int * a continuación, volver a int
- 5. cuestión semántica: puntero incompatible a entero conversión enviar 'NSUInteger *' (también conocido como 'unsigned int *') al parámetro de tipo 'NSUInteger'
- 6. enumeración Conversión a int
- 7. Cómo convertir entero a int?
- 8. Asignación hace puntero desde entero sin conversión
- 9. conversión de IO Int a Int
- 10. C++: La inicialización del puntero a puntero a int
- 11. Cómo convertir a entero int
- 12. Haskell Convertir entero a int?
- 13. ¿Declarar const puntero a int?
- 14. conversión a int en awk
- 15. Objetivo C int La conversión a flote
- 16. puntero incompatible tipo
- 17. Entero objetos int vs
- 18. Conversión de null a int possible?
- 19. conversión no válida del 'const int *' a 'int *', teniendo std :: set dirección del elemento
- 20. Cómo convertir int * a int
- 21. float/int conversión implícita
- 22. Android: conversión de String a int
- 23. ¿Por qué tener un puntero a un puntero (int ** a)?
- 24. Python - Conversión de hexadecimal a INT/CHAR
- 25. Conversión rápida de float a int (truncado)
- 26. Int Int Int y volver
- 27. Hash 32bit int a 16bit int?
- 28. conversión de Campo de Bits a int
- 29. Android: conversión de Color a Int
- 30. conversión de float32 a int en Go
No es otra cosa, es lo mismo que occulus dijo. Por cierto, tu comentario lo llama un "NSObject int", que en realidad no tiene mucho sentido como un término. – Chuck
Touche. Estaba leyendo esta publicación durante una búsqueda de un problema relacionado con NSInte, no Int. Un poco demasiado rápido en la respuesta, muchachos. Mi error. – Rob