# T207

> required parameter after an optional one

**Severity** Error

A parameter without a default follows a parameter that has one. Positional calls would then be ambiguous, so all required parameters must come first.

Reorder the parameters, or give the later parameter a default as well.

## Failing example

```flowscope
script "Scaled delta"
data vd = subscribe(data.vd)
fn scaled(x: float, factor: float = 1.0, offset: float) -> float {
  return x * factor + offset
}
pane p = pane(title: "Delta", height: 0.2)
plot d = plot.columns(title: "Delta (k)", on: p)
on vd.close {
  d.plot(scaled(vd.close ?? 0.0, 0.001, 0.0))
}
```

## Fixed example

```flowscope
script "Scaled delta"
data vd = subscribe(data.vd)
fn scaled(x: float, offset: float, factor: float = 1.0) -> float {
  return x * factor + offset
}
pane p = pane(title: "Delta", height: 0.2)
plot d = plot.columns(title: "Delta (k)", on: p)
on vd.close {
  d.plot(scaled(vd.close ?? 0.0, 0.0, factor: 0.001))
}
```

## Related

- [T206](/docs/scripting/reference/diagnostics/t206)
- [T208](/docs/scripting/reference/diagnostics/t208)
