为什么const char *函数优先于模板<int size =“”> const char(&amp; arr)[]

时间:2018-05-08 10:37:07

标签: c++

我有一个包含字符串构造函数的Variant类。我正在尝试为字符串文字引入变体类型 - 保持指向源文字的指针而不复制它。如果我删除const char *构造函数,则调用我的新构造函数:

Variant v = "asdf";
....

template <int size>
Variant(const char (&c_str) [size])

但我也需要const char *构造函数 - 并非所有的咒语都是文字。当有这样的构造函数时,我的新构造函数变为无法访问的代码。 有人可以解释一下为什么吗? Visual Studio 2017

0 个答案:

没有答案