Skip to content
Paul Squires edited this page Oct 14, 2026 · 2 revisions

Home › Miscellaneous Keywords › TypeOf

TypeOf

Returns the type of a variable.

Syntax

TypeOf ( variable | datatype )

Parameters

  • variable
  • datatype

Description

TypeOf is a compiler intrinsic that replaces itself with the type of the variable passed to it. It can either be used in a variable declaration (Example 1) or it can be used in the preprocessor for comparison, printing. (Example 2)

TypeOf also supports passing any intrinsic data type, or user-defined type (and its data fields), not only variables defined as those types. Also supported are expressions, the type is inferred from the expression (much like Var).

If there is both a user defined type and a variable visible with the same name in the current scope, the user defined type takes precedence over the variable. To ensure that the TypeOf takes the variable instead of the user defined type, wrap the argument to TypeOf with parentheses to force it to be seen as an expression. For example Typeof((variable)).

Remarks

Dialect Differences

  • Not available in the -lang qb dialect unless referenced with the alias __Typeof.

Differences from QB

  • New to FreeBASIC

See also

Examples

Example 1:

Dim As Integer foo

Dim As TypeOf(67.2) bar '' '67.2' is a literal double

Dim As TypeOf( foo + bar ) teh_double '' double + integer results in double

Print SizeOf(teh_double)

Example 2:

Dim As String foo

#print TypeOf(foo)

#if TypeOf(foo) = TypeOf(Integer)

  #print "Never happened!"

#endif

#if TypeOf(foo) = TypeOf(String)

  #print "It's a String!"

#endif

Category: Miscellaneous Keywords
Kind: keyword


Reproduced from the FreeBASIC Wiki Manual under the GNU Free Documentation License 1.3 — with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. Copyright © the FreeBASIC project and wiki contributors. See License.

Clone this wiki locally