Skip to main content

main_has_too_many_required_positional_parameters

The function 'main' can't have more than two required positional parameters.

Description

#

The analyzer produces this diagnostic when a function named main has more than two required positional parameters.

Example

#

The following code produces this diagnostic because the function main has three required positional parameters:

dart
void main(List<String> args, int x, int y) {}

Common fixes

#

If the function is an entry point and the extra parameters aren't used, then remove them:

dart
void main(List<String> args, int x) {}

If the function is an entry point, but the extra parameters used are for when the function isn't being used as an entry point, then make the extra parameters optional:

dart
void main(List<String> args, int x, [int y = 0]) {}

If the function isn't an entry point, then change the name of the function:

dart
void f(List<String> args, int x, int y) {}