Pound sign in #define function parameters
c++
Solution
A single `#` before a macro parameter converts it to a string literal.
#define STRINGIFY(x) #x
STRINGIFY(hello) // expands to "hello"
In your example, the string would be `"foo != false"`, so that the error message shows the code that was being tested.
A double `##` between two tokens within a macro combines them into a single token
#define GLOM(x,y) x ## y
GLOM(hello, World) // expands to helloWorld
Problem
What does the pound sign indicate in this line of code? ``` #define CONDITION(x) if(!(x)){ HandleError(#x,__FUNCTION__,__LINE__);return false;} ``` This is how it is being called: ``` CONDITION(foo != false); ```