Possible Duplicate:
Error on calling default constructor with empty set of brackets
What's the differences between Test t; and Test t();? if Test is a class
What is the difference between this code the first compiles the second doesn't. I am pretty new to C++.
FIRST SAMPLE
list<string> str;
list<string>::iterator it;
it = str.begin();
SECOND SAMPLE
list<string> str();
list<string>::iterator it;
it = str.begin();
I thought that calling without the parantethiss calls the default constructor witch is the same to () variant.