Operator ## (Preprocessor Concatenate)
 
Preprocessor operator to concatenate strings

Syntax

text##text

Description

This operator creates a new token by concatenating the texts at both sides of it. This text can be recognized by other macros and further expanded. One use, is to create a macro that expands to different macro names, variable names, and function names depending on the arguments received.

Note:
In macro/define's use '##_' to escape line continuation character '_' to allow multiple lines of macro expanded code to be combined into a single statement.

Example

#define Concat(t,n) t##n

Print concat (12,34)

Dim Concat (hello,world) As Integer
Concat (hello,world)=99
Print helloworld

Output:
1234
99
Version

  • Before fbc 1.08.0, '##_' did not allow to escape line continuation character '_'.

Differences from QB

  • New to FreeBASIC

See also