0
我試圖做一個隱式轉換,它只能用一個參數,例如,如果我只保留unsigned int
它可以工作,否則它不會。發生什麼事?隱式轉換不起作用
#include <iostream>
class Foo
{
public:
Foo(unsigned int, const std::string&) {}
};
class Bar
{
public:
void insertFoo(const Foo& foo)
{
}
};
int main(int argc, char ** argv)
{
Bar bar;
bar.insertFoo(100, std::string(""));
return 0;
}
如果你想複製列表初始化'foo',那麼你需要braced-init-list,'bar.insertFoo({100,std :: string(「」)});' – 2014-12-06 21:26:42
哦,天哪,真傻。謝謝@PiotrS。 – yayuj 2014-12-06 21:27:48