gpt4 book ai didi

c++ - 在 VC++ 11 中使用别名声明

转载 作者:可可西里 更新时间:2023-11-01 18:16:13 28 4
gpt4 key购买 nike

以下代码示例在 C++11 中使用别名声明 new 无法使用 VC++11 进行编译,在 VS2012 中更新 1 并发出包含的错误。它使用 g++ -std=c++11 -Wall in.cpp 在 Windows 7 上的 MinGW 下使用 GCC 4.7.2 编译和执行。

我没有发现任何迹象表明这不受支持。此外,IntelliSense 不会发现任何错误并显示 cdptr 类型的工具提示,其中显示 typedef const double *cdptr。我的项目设置为使用 v110 平台工具集并编译为 C++ 代码。

我怎么冤枉了微软?

#include <iostream>

int main()
{
using cdptr = const double*;

const double pi = 3.14159;
cdptr cdp = &pi;

std::cout << "cdp: " << (*cdp) << std::endl;

return 0;
}

构建输出:

1>------ Build started: Project: AliasDeclTest, Configuration: Debug Win32 ------
1> AliasDeclTest.cpp
1>f:\aliasdecltest\aliasdecltest.cpp(9): error C2143: syntax error : missing ';' before '='
1>f:\aliasdecltest\aliasdecltest.cpp(9): error C2873: 'cdptr' : symbol cannot be used in a using-declaration
1>f:\aliasdecltest\aliasdecltest.cpp(12): error C2065: 'cdptr' : undeclared identifier
1>f:\aliasdecltest\aliasdecltest.cpp(12): error C2146: syntax error : missing ';' before identifier 'cdp'
1>f:\aliasdecltest\aliasdecltest.cpp(12): error C2065: 'cdp' : undeclared identifier
1>f:\aliasdecltest\aliasdecltest.cpp(14): error C2065: 'cdp' : undeclared identifier
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

最佳答案

MSVC11,即使使用 11 月 CTP,也使用别名声明实现。

您可以找到C++11 支持表 here .

关于c++ - 在 VC++ 11 中使用别名声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14225846/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com