Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

E0029: a short name that two USINGs both bring in

USING A, B; brings in the elements of both namespaces by their short names. When both have one of the name a POU uses, which one is meant is not said, and iecf does not guess: name the one meant in full. As in C#, whose using directives Ed.3 6.9.4 follows, it is an error only where the name is used, and a namespace’s own element hides one a USING brings in (NAMESPACES.md D2).

NAMESPACE A FUNCTION f : INT f := 1; END_FUNCTION END_NAMESPACE
NAMESPACE B FUNCTION f : INT f := 2; END_FUNCTION END_NAMESPACE

FUNCTION_BLOCK user
USING A, B;
VAR n : INT; END_VAR
n := f();                (* E0029: A.f or B.f *)
n := A.f();              (* fine *)
END_FUNCTION_BLOCK