In reality they are always initialized when they're used, but the compiler
doesn't necessarily know that.
{
vector<string> result;
const char *ptr = expression;
- unsigned start, length;
+ unsigned start = 0;
+ unsigned length = 0;
while(parse_identifier(ptr, start, length))
{
result.push_back(string(ptr+start, length));
{
string result;
const char *ptr = expression;
- unsigned start, length;
+ unsigned start = 0;
+ unsigned length = 0;
while(parse_identifier(ptr, start, length))
{
result.append(ptr, start);