title: How to initialize a static const set<string> in implementation file?
body: <p>My initialisation of a <code>static const set&lt;string&gt;</code> appears to be incorrect, I'd appreciate your guidelines on this:</p>
  
  <p><code>obj.h</code>:</p>
  
  <pre><code>class obj
  {
    ...
  
  private:
    static const set&lt;string&gt; keywords;
    ...
  
  }
  </code></pre>
  
  <p><code>obj.cpp</code>:</p>
  
  <pre><code>const string kw[] = {"GTR","LTR","LEQ","GEQ","NEQ","SQRT","sqrt"};
  const set&lt;string&gt; obj::keywords = (kw,kw + sizeof(kw)/sizeof(kw[0]));
  </code></pre>
  
  <p>But this yields the error:
  <code>error: conversion from ‘const string* {aka const std::basic_string&lt;char&gt;*}’ to non-scalar type ‘const std::set&lt;std::basic_string&lt;char&gt; &gt;’ requested</code></p>
  
  <p>Can somebody tell me the correct way to initialise this set?</p>