Home > front end >  Conditionally execute a funtion, throws error `Conditions must have a static type of 'bool'
Conditionally execute a funtion, throws error `Conditions must have a static type of 'bool'

Time:10-29

I want to feed Two to the function. When function receives Two as the data, it should print success to the console. But seems like it's not the correct way.

Error: Conditions must have a static type of 'bool'. Try changing the condition.

List

enum ButtonList {One, Two, Three}

Calling function

testFunc(ButtonList.Two)),

Function

testFunc( ButtonList type) {

 if (type = ButtonList.Two ){print('sucess ')};
  
  }

CodePudding user response:

It should be:

testFunc(ButtonList type) {
  if (type == ButtonList.Two) {
    print('sucess ')
  };  
}

There's a big difference between = (assigning a value to a variable) and == (equality comparison). if expects a condition (==), not the assigning operation (=).

Formatting is important to read and understand the code. Please read Dart best code style practices: https://dart.dev/guides/language/effective-dart/style

CodePudding user response:

You are trying to assign with =, use == instead

  • Related