title: C++ Expected string literal before args
body: <pre><code>#include &lt;iostream&gt;
  
  using namespace std;
  
  int main(int argc, char* argv[]) {
      string argstr[argc];
      for(int c = 1; c++; c&lt;argc) {
          argstr[c].assign(argv[c]);
      }
  
      for(int c = 1; c++; c&lt;argc) {
          __asm__(argstr[c]); //This is where the error occurs
          cout &lt;&lt; argstr[c] &lt;&lt; endl;
      }
  }
  </code></pre>
  
  <p>If I try to compile it with MinGW, I get the following error:</p>
  
  <pre>
      Main.cpp: In function 'int main(int, char**)':
      Main.cpp:15:6: error: expected string-literal before 'args'
        asm(args);
  </pre>
  
  <p>I know this, that's why I assign the arguments to a vector of strings.</p>