I've probably been staring at the screen too long to think clearly, I would have thought this would be an easy one to figure out, but I haven't had any luck yet.

A part of my code is throwing an exception, and when constructing the exception, I get the following message:
Code:
terminate called after throwing an instance of 'Parser::SyntaxError'

Program received signal SIGABRT, Aborted.
0x00007ffff72dfa75 in raise () from /lib/libc.so.6
The code that raises the exception is:
Code:
  throw SyntaxError("';' expected");
The definition of SyntaxError is:
Code:
  struct SyntaxError {
    std::string s;
    SyntaxError(const char *t) { s = std::string(t); }
  };
The SIGABRT is triggered on the s = std::string(t); assignment. I'm not sure why that would be. I don't believe it is a memory access issue. My understanding is that std::string(const char *c) will construct a string initialized to a copy of string pointed to by c.

Any help would be appreciated

Thanks,
Jason