繁体   English   中英

模板化 c 字符串包装器中的大小扣除

[英]size deduction in a templated c-string wrapper

为什么这不起作用:

#include <cstring>

template<size_t sz>
struct wstr {
    wchar_t _str[sz];

    wstr(const wchar_t source[sz]) {
        wcscpy_s(_str, source);
    }
};


int main(int argc, char** argv) {

    wstr ws = L"Hello"; //needs template argument

    return 0;
}

L"Hello"已知它是一个const wchar_t[6]

为了在 arrays 上进行模板推导,您需要将参数作为对数组的引用。

wstr(const wchar_t (&source)[sz]) { ... }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM