首页 > 解决方案 > 新运算符 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中的程序?

标签: c++visual-studioalignmentnew-operator

解决方案


推荐阅读