#include "std_lib_facilities.h"
class Token {
public:
char kind;
double value;
string name;
Token ( char ch ) : kind{ch} { }
Token ( char ch, double val ) : kind {ch}, value {val} { }
Token ( char ch, string n ) : kind {ch}, name {n} { }
};
int main ( void )
{
char ch;
cin >> ch;
// Token == ch; // Fails to compile - see below.
Token {ch};
return 0;
}
What is the different meaning between:
Token {ch};
versus Token = ch;
What does this error means?
error: expected unqualified-id
ERROR WHEN USING `Token = ch;`.
$ c++ -std=c++11 -o poc_Token_assignments poc_Token_assignments.cpp
poc_Token_assignments.cpp:20:8: error: expected unqualified-id
`Token = ch;`
^
1 error generated.
Non-error when using curly braces (Token {ch};
):
$ c++ -std=c++11 -o poc_Token_assignments poc_Token_assignments.cpp
$ (COMPILED PERFECTLY USING THOSE {} CURLY BRACES)