C++ Visual Studio 2015 Update 1中模板化代码的初始值设定项列表失败

C++ Visual Studio 2015 Update 1中模板化代码的初始值设定项列表失败,c++,visual-studio-2015,c++14,C++,Visual Studio 2015,C++14,守则: class FString : public StringFormatter<FString> { public: FString() : StringFormatter<FString>{this->buffer} {} // allow assignment and construction from std::string. FString(const std::string &oth

守则:

class FString : public StringFormatter<FString> {
public:
    FString()
        : StringFormatter<FString>{this->buffer}
        {}

    // allow assignment and construction from std::string.

    FString(const std::string &other)
        :
        StringFormatter<FString>{this->buffer},
        buffer{other} {}

下面是相关文件:

看起来像MSVC中的一个bug

您可以使用typedef/别名:

using base = StringFormatter<FString>;
FString() : base{this->buffer} {}
使用base=StringFormatter;
FString():基{this->buffer}{}
或与带大括号的初始列表分开:

FString() : StringFormatter<FString>(this->buffer) {}
FString():StringFormatter(此->缓冲区){}

围绕这个问题。

我已经在连接上提交了一个bug,当有回应时我会更新我的答案。VisualC++团队响应了;这个错误应该用VS2015更新3修复:)我今天用VS2015更新3检查了一下,它似乎已经修复了。
../util/stringformatter.h(250): error C2059: syntax error: '{' ../util/stringformatter.h(250): error C2334: unexpected token(s) preceding '{'; skipping apparent function body
../util/stringformatter.h(256): error C2059: syntax error: ','
../util/stringformatter.h(257): error C2334: unexpected token(s) preceding '{'; skipping apparent function body
using base = StringFormatter<FString>;
FString() : base{this->buffer} {}
FString() : StringFormatter<FString>(this->buffer) {}