title: Very disturbing error message
body: <p>from third party codebase, I'm getting error:</p>
  
  <p><strong>Error 140 error : a pointer to a bound function may only be used to call the function</strong></p>
  
  <p>Function causing that error:</p>
  
  <pre><code>/** Static name of function to call */
      static FName GetAddComponentFunctionName()
      {
          static const FName AddComponentFunctionName(GET_FUNCTION_NAME_CHECKED(AActor, AddComponent));
          return AddComponentFunctionName;
      }
  
  
  // Returns FName(TEXT("FunctionName")), while statically verifying that the function exists in ClassName
  // &amp;((ClassName*)0)-&gt;FunctionName will generate 'error: cannot create a non-constant pointer to member function' on the Mac
  #if PLATFORM_WINDOWS
      #define GET_FUNCTION_NAME_CHECKED(ClassName, FunctionName) \
          ((void)sizeof(&amp;((ClassName*)0)-&gt;FunctionName), FName(TEXT(#FunctionName)))
  #else
      #define GET_FUNCTION_NAME_CHECKED(ClassName, FunctionName) \
          FName(TEXT(#FunctionName))
  #endif
  </code></pre>
  
  <p>And again, this code compiles with VS, but not with intel's icl</p>