Я столкнулся с действительно странной ошибкой, которая появляется только, если я использую флаг ansi
.
#include <memory>
class Test
{
public:
explicit Test(std::shared_ptr<double> ptr) {}
};
Здесь компиляция, протестированная с помощью gcc 4.5.2 и 4.6.0 (20101127):
g++ -std=c++0x -Wall -pedantic -ansi test.cpp
test.cpp:6:34: error: expected ')' before '<' token
Но компиляция без -ansi
работает. Почему?