“使用 auto 说明符声明的变量不能出现在其自己的初始值设定项中”

2024-02-25

使用尾随返回类型时似乎出现错误 Func_ptr 的函数指针声明。我知道如果我将声明和初始化放在同一个语句中或者只是通过直接指定返回类型来使用标准声明就可以做到这一点,但我想了解该语言的限制,所以有人可以解释一下这个错误在代码如下:

“使用 auto 类型说明符声明的变量不能出现在其 自己的初始化程序”

#include <utility>
#include <iostream>

int Func(const std::pair<int, int>& p)
{
    std::cout << p.first << "->" << p.second << std::endl;
    return 1;
}

int main()
{
    auto (*Func_ptr)(const std::pair<int, int>& p) -> int;
    //Error below, Func_ptr underlined, "a variable declared with the auto
    //specifier cannot appear in its own initializer
    Func_ptr = Func;
}

问题是变量以 C++03 风格声明,而函数格式以 C++11 方式声明。让它统一,它就会起作用。

// the old way
int (*Func_ptr1)(const std::pair<int, int>& p);

// the C++11
auto func_ptr2 = &Func;

这是例子 https://wandbox.org/permlink/H4cWAWAAawQmk91i。 什么更有趣Clang 能够处理混合物 https://wandbox.org/permlink/DiwR5TpvPzTDpujG#.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“使用 auto 说明符声明的变量不能出现在其自己的初始值设定项中” 的相关文章

  • C++:无法使用scoped_allocator_adaptor传播polymorphic_allocator

    我有一个vector
  • 如何在 Unity 中从 RenderTexture 访问原始数据

    问题的简短版本 我正在尝试访问 Unity 中 RenderTexture 的内容 我一直在使用 Graphics Blit 使用自己的材质进行绘制 Graphics Blit null renderTexture material 我的材
  • Func 方法参数的首选命名约定是什么?

    我承认这个问题是主观的 但我对社区的观点感兴趣 我有一个缓存类 它采用类型的缓存加载器函数Func
  • C++ 求二维数组每一行的最大值

    我已经设法用这个找到我的二维数组的每一行的最小值 void findLowest int A Cm int n int m int min A 0 0 for int i 0 i lt n i for int j 0 j lt m j if
  • 如何在我的应用程序中使用 Windows Key

    Like Windows Key E Opens a new Explorer Window And Windows Key R Displays the Run command 如何在应用程序的 KeyDown 事件中使用 Windows
  • C# 中值类型和引用类型有什么区别? [复制]

    这个问题在这里已经有答案了 我知道一些差异 值类型存储在堆栈上 而引用类型存储在托管堆上 值类型变量直接包含它们的值 而引用变量仅包含对托管堆上创建的对象位置的引用 我错过了任何其他区别吗 如果是的话 它们是什么 请阅读 堆栈是一个实现细节
  • 跨多个控件共享事件处理程序

    在我用 C 编写的 Windows 窗体应用程序中 我有一堆按钮 当用户的鼠标悬停在按钮上时 我希望按钮的边框发生变化 目前我有以下多个实例 每个按钮一个副本 private void btnStopServer MouseEnter ob
  • C# 中可空类型是什么?

    当我们必须使用nullable输入 C net 任何人都可以举例说明 可空类型 何时使用可空类型 https web archive org web http broadcast oreilly com 2010 11 understand
  • C# 用数组封送结构体

    假设我有一个类似于 public struct MyStruct public float a 我想用一些自定义数组大小实例化一个这样的结构 在本例中假设为 2 然后我将其封送到字节数组中 MyStruct s new MyStruct s
  • HttpClient 像浏览器一样请求

    当我通过 HttpClient 类调用网站 www livescore com 时 我总是收到错误 500 可能服务器阻止了来自 HttpClient 的请求 1 还有其他方法可以从网页获取html吗 2 如何设置标题来获取html内容 当
  • 初始化变量的不同方式

    在 C 中初始化变量有多种方法 int z 3 与 int 相同z 3 Is int z z 3 same as int z z 3 您可以使用 int z z 3 Or just int z 3 Or int z 3 Or int z i
  • 像“1$”这样的位置参数如何与 printf() 一起使用?

    By man I find printf d width num and printf 2 1 d width num 是等价的 但在我看来 第二种风格应该与以下相同 printf d num width 然而通过测试似乎man是对的 为什
  • 用 C 实现 Unix shell:检查文件是否可执行

    我正在努力用 C 语言实现 Unix shell 目前正在处理相对路径的问题 特别是在输入命令时 现在 我每次都必须输入可执行文件的完整路径 而我宁愿简单地输入 ls 或 cat 我已经设法获取 PATH 环境变量 我的想法是在 字符处拆分
  • AccessViolationException 未处理

    我正在尝试使用史蒂夫 桑德森的博客文章 http blog stevensanderson com 2010 01 28 editing a variable length list aspnet mvc 2 style 为了在我的 ASP
  • 检查 url 是否指向文件或页面

    我们需要以下内容 如果文件确实是文件 则从 URL 下载该文件 否则 如果它是一个页面 则什么也不做 举个简单的例子 我有以下命令来下载文件 My Computer Network DownloadFile http www wired c
  • 将应用程序从 Microsoft Access 迁移到 VB 或 C#.NET

    我目前正试图说服管理层需要将我们的应用程序之一移植到 NET 该应用程序已经发展成为 Access 中的一个庞然大物 SQL 后端 拥有 700 个链接表 650 个表单 子表单 130 个模块和 850 个查询 我几乎知道这样做的所有主要
  • 作为字符串的动态属性名称

    使用 DocumentDB 创建新文档时 我想设置属性名称动态地 目前我设置SomeProperty 像这样 await client CreateDocumentAsync dbs db colls x new SomeProperty
  • 方法参数内的变量赋值

    我刚刚发现 通过发现错误 你可以这样做 string s 3 int i int TryParse s hello out i returns false 使用赋值的返回值是否合法 Obviously i is but is this th
  • 将变量分配给另一个变量,并将一个变量的更改反映到另一个变量中

    是否可以将一个变量分配给另一个变量 并且当您更改第二个变量时 更改会瀑布式下降到第一个变量 像这样 int a 0 int b a b 1 现在 b 和 a 都 1 我问这个问题的原因是因为我有 4 个要跟踪的对象 并且我使用名为 curr
  • 为什么 strtok 会导致分段错误?

    为什么下面的代码给出了Seg 最后一行有问题吗 char m ReadName printf nRead String s n m Writes OK char token token strtok m 如前所述 读取字符串打印没有问题 但

随机推荐

  • 引用主题的原色而不是 Material UI 中的特定颜色

    使用 ReactJS 和 Material UI 我有一个项目 其中我更改了主题颜色 const newTheme getMuiTheme fontFamily Roboto sans serif palette primary1Color
  • Angular 2 和 Spring Boot - 部署到战争

    首先我要说的是 我是 Maven Spring 的新手 并且很难弄清楚当我的目录不遵循首选 Maven 结构时该怎么做 我按照说明通过 Angular 2 和 Spring Boot 设置项目tutorial https blog jdri
  • 具有多个 IN 参数的存储过程

    我得到了以下程序 create or replace PROCEDURE create indexes tbl name index IN VARCHAR2 tbl name vehicle IN VARCHAR2 tbl name dea
  • 检查 gRpc 服务器是否在 C# 中运行

    我正在用 C 编写一个 gRpc 服务器 如果服务器因任何原因关闭 我想添加自动恢复 重试实现 经过研究 我遇到了拦截器并感到兴奋 但看起来它只支持 Go 我找不到 gRpc C 的任何类似内容 如何在 gRpc CSharp 中处理自动恢
  • 在 Angular 中下载文件时无法获取进度和文件

    我有一个 Angular 应用程序 我只想下载一个文件 到目前为止 这是我的代码 this fileNavigationService downloadFile element subscribe result gt this genera
  • GCP 中的 AI Notebook 和 Cloud Datalab 有什么区别?

    我已经搜索了这个问题的答案 这个问题是重复的 但我需要澄清 因为我看了两个不同的地方 答案有点相反 以下堆栈溢出answer https stackoverflow com a 58329351 9146820提到Google Cloud
  • QT5文本渲染问题

    我在基于 MIPS 的平台上交叉编译了 QT5 每当我运行包括示例应用程序 其中包含文本 的应用程序时 它首先绘制文本 然后使用文本颜色的 矩形 填充来绘制文本区域 所以最后我在所有显示文本的地方看到了一个黑色矩形 如果我改变文本颜色 矩形
  • 词汇环境和函数范围

    javascript 中的词法环境和作用域是一回事吗 根据我刚刚从 JavaScript Ninja 的秘密 2 e 中学到的内容给出答案 它们是不同的概念但相关 我们需要定义一个相关的概念 执行上下文及其堆栈去理解 执行上下文 执行上下文
  • Next.js:如何使动态路由与空间一起工作?

    我有一个getStaticPaths生成两条几乎相同的路径的函数 foo 20bar and foo bar My foo bar路径效果很好 但由于某种原因foo 20bar路径不起作用 它会路由到我的 404 页面 无论我是否真的浏览到
  • 如何使用 DynamoDBAutoGenerateKey 为我提供自动生成的密钥?

    我需要使用 AWS SDK 中的 DynamoDBAutoGenerateKey 来为我提供一个随机密钥 字符串类型 然后我可以用它来执行某些操作 我在网上找不到任何这样做的例子 虽然看起来应该相对简单 但我真的很难让它发挥作用 任何人都可
  • 像模板一样保存多个 CKEditor 内联编辑器字段的数据

    我正在建立一个模板系统 设计人员可以在其中提交 HTML5 设计并允许用户添加自己的内容 我正在为该应用程序使用 CKEditor 4 2 和 Rails 3 我希望用户能够加载模板页面 然后直接编辑各种内联编辑器 然后通过 JS 和 Aj
  • C# WPF ComboBox - 排除绑定数据的最后一行(或空白)(从 Microsoft Access 绑定)

    目前我正在使用 Microsoft Access 来保存数据 它将绑定到 WPF 组合框 下面的代码几乎可以正常工作 oleDBCommand CommandText SELECT table Col1 table Col2 As COl1
  • 了解所有线程何时完成并处理异常

    我正在使用 Executor 框架使用线程池 即 newFixedThreadPool 启动多个线程 我使用 threadpool submit aThread 提交要由线程池执行的作业 这工作正常 但是我需要确定所有线程何时完成 以便我可
  • click() 事件在 jQuery 中调用两次

    我设置了一个链接元素并在 jQuery 中调用了它的单击事件 但是单击事件调用了两次 请参阅下面的 jQuery 代码 link button button click function attachmentForm slideToggle
  • 使用 Express js、passport 保护 GraphQL 查询

    我已经开始在我的 Express JS 项目中使用 graphql 但我想知道如何保护我的一些 GraphQL 查询 以前我使用 Passport js JWT 来实现此目的 效果很好 确保路线安全确实很容易 但使用 graphql exp
  • html 到 pdf 转换,西里尔字符无法正确显示

    我的 pdf 字体有问题 我使用了一种从 html 生成 pdf 的方法 该方法在我的本地计算机 即 Windows 操作系统 上运行良好 但现在在 Linux 上 西里尔文字显示带有问号 我在那里检查了字体 但结果发现有所需的字体 现在我
  • Laravel 403 之前有效的 API 错误

    截至昨天 下面的代码有效 然而今天 我必须在 laravel 中运行 php artisan config cache 命令 因为我添加了一个包 现在我漂亮的 ionic 应用程序不想运行连接到任何东西 因为我不断收到此 403 错误 在我
  • 我可以在新标签页上运行用户脚本吗?

    我有一个用 TamperMonkey 编写的非常简单的用户脚本 我希望它在 Chrome 新标签页上运行 根据这个网站 https web archive org web 20180126193540 https forum tamperm
  • 获取图像的高度和宽度

    我正在显示一个图像 如果该图像很小 它将填充控制区域的大小 我想显示实际情况original图像的宽度和高度 我怎样才能做到这一点 图像源宽度 http msdn microsoft com en us library system win
  • “使用 auto 说明符声明的变量不能出现在其自己的初始值设定项中”

    使用尾随返回类型时似乎出现错误 Func ptr 的函数指针声明 我知道如果我将声明和初始化放在同一个语句中或者只是通过直接指定返回类型来使用标准声明就可以做到这一点 但我想了解该语言的限制 所以有人可以解释一下这个错误在代码如下 使用 a