c++ - 新运算符 C++17 中的对齐 - Visual Studio
问题描述
我在 Visual Studio 2017 C++17 中收到以下程序错误:
#include <iostream>
int main()
{
using namespace std;
align_val_t alignment = (align_val_t)1024;
int* p = new(alignment) int(3);
cout << (unsigned long long)(p) % 1024;
delete p;
}
错误 C2956 大小的释放函数 'operator delete(void*, size_t)' 将被选为放置释放函数
该程序在 gcc-8 中编译没有错误。如何解决VS中的程序?
解决方案
推荐阅读
- python - 如何从数组中打印表格?
- c# - 如何使用 MVP 模式在 WPF 中实现 INotifyPropertyChanged
- c# - Deedle的速记创造新系列定长
- flutter - 如何将颤振模块导入颤振项目?
- notepad++ - Notepad++ 以一定间隔删除行(例如,使用 Skip 和 Take)
- git - 强制推送后如何取回已删除的文件
- c++ - boost::program_options 在 Klocwork 中生成 MLK.MUST
- spring-boot - h2 中的序列生成器不提供唯一值
- java - 1.7 中的 Java 函数(转换 lambda 表达式)
- java - 获取 JSONArray 的子节点