Possible Duplicate:
Why is it an error to use an empty set of brackets to call a constructor with no arguments?
$ cat cons.cpp
#include <iostream>
class Matrix {
private:
    int m_count;
public:
    Matrix() {
        m_count = 1;
        std::cout << "yahoo!" << std::endl;
    }
};
int main() {
    std::cout << "before" << std::endl;
    Matrix m1();                         // <----
    std::cout << "after" << std::endl;
}
$ g++ cons.cpp
$ ./a.out
before
after
$
What does the syntax Matrix m1(); do?
I believed that it is the same as Matrix m1;. Obviously I am wrong.
 
     
     
     
     
     
    