Incompatible types

Generally, this error is raised when the compiler cannot convert the specified type to the expected type. Examples:

z = -(z==0)  ; - cannot operate on boolean expressions
int i = 3/2  ; 3/2 is a floating-point number

You should explicitly provide a conversion to the desired type:

z = !(z==0)  ; ! operates on boolean expressions
int i = round(3/2)

This error also occurs when settings have the wrong type. Example:

default:
  maxiter = (100,0)  ; maxiter should be of type int

Here, you should just change it into the correct type:

default:
  maxiter = 100

The third reason for this error is if you put a type keyword (complex, float, int or bool) in front of an assignment to a predefined symbol, and the type keyword does not match the type of the predefined symbol. Example:

float z = 0

Since z is a predefined symbol of complex type, you cannot put the float keyword in front of the assignment. Just leave it out or change it to complex:

z = 0
complex z = 0

See Also
Errors