es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Dart: No se puede asignar un valor de tipo ‘int’ a una variable de tipo ‘int’

Cuando creo una extensión así:

dart
extension MyExtension on List {
void myMethod() {
int a = 1; // error
}
}

Recibo un mensaje de error aparentemente sin sentido por parte del compilador:

A value of type ‘int’ can’t be assigned to a variable of type ‘int’.
Try changing the type of the variable, or casting the right-hand type to ‘int’. dart(invalid_assignment)

Puedo solucionar el problema eliminando después del nombre de la extensión:

dart
extension MyExtension on List {
void myMethod() {
int a = 1;
}
}

Pero me gustaría saber qué estaba sucediendo en el código problemático original. ¿Cuál fue la razón del mensaje de error críptico?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error críptico se debe al hecho de que el <int> después del nombre de la extensión hacía que el compilador pensara que el tipo int se estaba asignando a una variable del mismo tipo. Esto no está permitido en Dart, por lo que el compilador arrojaba un error. Eliminar el <int> después del nombre de la extensión resolvió el problema.

Comments are closed.