c++ - Xor Template Visual Studio INTELLISENSE 错误
问题描述
我正在使用这个xor
模板来混淆一些字符串,代码正在编译和工作,但是,IntelliSense 在控制台中抛出了很多“错误”:
#include <algorithm>
#include <string>
template<std::size_t N, class T = std::string>
struct BaseXorString {
using string_type = T;
using char_type = string_type::value_type;
char_type encrypted[N]{};
static constexpr unsigned char key = 0xa4;
constexpr BaseXorString(const char_type (&str)[N]) {
for (int i = 0; i < N; ++i) {
encrypted[i] = str[i] ^ key;
}
};
string_type decrypt() const {
string_type str(encrypted, N);
std::ranges::for_each(str, [&](char_type& c) { c ^= key; });
return str;
}
};
template<std::size_t N>
using XorString = BaseXorString<N, std::string>;
template<XorString Str>
constexpr auto operator"" _xorStr() {
return Str;
}
constexpr auto xurl = "http://..."_xorStr;
std::string url = xurl.decrypt();
线:template<XorString Str>
缺少别名模板“XorString”的错误(活动)E0441 参数列表
线:constexpr auto operator"" _xorStr() {
错误(活动) E2500 文字运算符模板必须具有等效于 '<char ...> 的模板参数列表
线:constexpr auto xurl = "http://..."_xorStr;
错误(活动) E2486 未找到用户定义的文字运算符
(c++20 Windows/Visual Studio 19)
什么不见了?
解决方案
推荐阅读
- sql-server - “登录失败。登录来自不受信任的域,不能用于 Windows 身份验证
- command-line - NPM 全局安装但无法从项目运行命令
- vuejs2 - 如何使用 vuex 和 laravel 上传带有标题和描述的文件
- javascript - Google Analytics Management API - 当我尝试更新 Google Analytics 视图时出现“未知名称”:根元素必须是消息
- flutter - 颤动中的下拉按钮:值未编译
- oauth-2.0 - oauth 的 smartsheet-Accesstoken 再生
- c# - 如何在我的 DI 容器中使用 IDataProtectionProvider 编写测试?
- salesforce - Salesforce 通过 HTTP 查询仅通过 JSON 响应检索有限数量的记录
- ssis - 使用带有 SSIS 的 DocuSign API 检索文档
- google-cloud-platform - 使用 conv.user.storage 导致的 Google Actions SDK“错误:未经授权,您的客户端无权访问请求的 URL”