兼容类型和参数类型限定符

2023-11-25

这两个声明的类型是否兼容?

void f(char *, char *);
void f(char *restrict, char *restrict);

或类似:

void g(char *);
void g(char *const);

我很难在标准中找到涵盖该问题的任何内容。我最感兴趣的是手动原型化函数是否有效,省略restrict关键字,其中实际类型可能具有restrict限定参数,具体取决于所使用的C版本或其他库的版本。


它们是兼​​容的:

(C99,6.7.5.3 函数声明符(包括原型)p15)“[...](在确定类型时 兼容性和复合类型,每个参数都用函数或数组声明 type 被视为具有调整后的类型,并且每个参数都使用限定类型声明 被视为具有其声明类型的非限定版本。)”

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

兼容类型和参数类型限定符 的相关文章

  • 使用 gcc 在 Linux 上运行线程构建块 (Intel TBB)

    我正在尝试为线程构建块构建一些测试 不幸的是 我无法配置 tbb 库 链接器找不到库 tbb 我尝试在 bin 目录中运行脚本 但这没有帮助 我什至尝试将库文件移动到 usr local lib 但这又失败了 任何的意见都将会有帮助 确定您
  • 删除文件的最后 10 个字符

    我想删除文件的最后 10 个字符 说一个字符串 hello i am a c learner 是文件内的数据 我只是希望该文件是 hello i am a 文件的最后 10 个字符 即字符串 c learner 应在文件内消除 解决方案 将
  • WPF DataGrid 多选

    我读过几篇关于这个主题的文章 但很多都是来自 VS 或框架的早期版本 我想做的是从 dataGrid 中选择多行并将这些行返回到绑定的可观察集合中 我尝试创建一个属性 类型 并将其添加到可观察集合中 它适用于单个记录 但代码永远不会触发多个
  • 结构化绑定中缺少类型信息

    我刚刚了解了 C 中的结构化绑定 但有一件事我不喜欢 auto x y some func is that auto正在隐藏类型x and y 我得抬头看看some func的声明来了解类型x and y 或者 我可以写 T1 x T2 y
  • 在模板类中声明模板友元类时出现编译器错误

    我一直在尝试实现我自己的链表类以用于教学目的 我在迭代器声明中指定了 List 类作为友元 但它似乎无法编译 这些是我使用过的 3 个类的接口 Node h define null Node
  • 根据属性的类型使用文本框或复选框

    如果我有这样的结构 public class Parent public string Name get set public List
  • 在一个数据访问层中处理多个连接字符串

    我有一个有趣的困境 我目前有一个数据访问层 它必须与多个域一起使用 并且每个域都有多个数据库存储库 具体取决于所调用的存储过程 目前 我只需使用 SWITCH 语句来确定应用程序正在运行的计算机 并从 Web config 返回适当的连接字
  • std::list 线程push_back、front、pop_front

    std list 线程安全吗 我假设不是这样 所以我添加了自己的同步机制 我认为我有正确的术语 但我仍然遇到问题 每个函数都由单独的线程调用 Thread1 不能等待 它必须尽可能快 std list
  • C++11 删除重写方法

    Preface 这是一个关于最佳实践的问题 涉及 C 11 中引入的删除运算符的新含义 当应用于覆盖继承父类的虚拟方法的子类时 背景 根据标准 引用的第一个用例是明确禁止调用某些类型的函数 否则转换将是隐式的 例如最新版本第 8 4 3 节
  • 对类 static constexpr 结构的未定义引用,g++ 与 clang

    这是我的代码 a cp p struct int2 int x y struct Foo static constexpr int bar1 1 static constexpr int2 bar2 1 2 int foo1 return
  • C# 列表通用扩展方法与非通用扩展方法

    这是一个简单的问题 我希望 集合类中有通用和非通用方法 例如List
  • 两个静态变量同名(两个不同的文件),并在任何其他文件中 extern 其中一个

    在一个文件中将变量声明为 static 并在另一个文件中进行 extern 声明 我认为这会在链接时出现错误 因为 extern 变量不会在任何对象中看到 因为在其他文件中声明的变量带有限定符 static 但不知何故 链接器 瑞萨 没有显
  • 空指针与 int 等价

    Bjarne 在 C 编程语言 中写道 空指针与整数零不同 但 0 可以用作空指针的指针初始值设定项 这是否意味着 void voidPointer 0 int zero 0 int castPointer reinterpret cast
  • 复制目录下所有文件

    如何将一个目录中的所有内容复制到另一个目录而不循环遍历每个文件 你不能 两者都不Directory http msdn microsoft com en us library system io directory aspx nor Dir
  • 编译时展开 for 循环内的模板参数?

    维基百科 here http en wikipedia org wiki Template metaprogramming Compile time code optimization 给出了 for 循环的编译时展开 我想知道我们是否可以
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的
  • C++ 中的 include 和 using 命名空间

    用于使用cout 我需要指定两者 include
  • C# 中最小化字符串长度

    我想减少字符串的长度 喜欢 这串 string foo Lorem ipsum dolor sit amet consectetur adipiscing elit Aenean in vehicula nulla Phasellus li
  • 现代编译器是否优化乘以 1 和 -1

    如果我写 template
  • 如何确定 CultureInfo 实例是否支持拉丁字符

    是否可以确定是否CultureInfo http msdn microsoft com en us library system globalization cultureinfo aspx我正在使用的实例是否基于拉丁字符集 我相信你可以使

随机推荐

  • 在 mac osx 上注册协议?

    我已经在windows中完成了 如何在mac osx上注册协议 我想单击 Firefox 中的链接 a href somename mylinkAndData 并启动二进制文件 看看苹果的启动服务编程指南 你必须添加CFBundleURL类
  • C# 中 Overlapped PictureBox 的透明度问题

    我正在面板中显示PictureBox重叠 因为每个PictureBox用来 作为一层 第一次PictureBox已定义并添加到面板的背景颜色 是透明的 它的图像是空的 问题是 底层看不到 透明图像 显示的是 面板的接地 例外的是底部Pict
  • 在基于导航的应用程序中将背景图像添加到 UITableViewController

    我有一个基于导航的应用程序 我可以在其中推送UITableViewControllers到堆栈上 我想添加背景UImage致我所有的UITableViewControllers 不是一个UIColor 但是一个UImage 我知道如何使用N
  • Google Colaboratory 中的 openAI Gym NameError

    我刚刚在 Google Colab 上安装了 openAIgym 但是当我尝试运行 CartPole v0 环境时在这里解释 Code import gym env gym make CartPole v0 for i episode in
  • 在 yii2 中使用限制范围?

    我想使用从数据库获取数据限制 12 20 这是我的代码 Query new Query Query gt select um id as USERid um first name um last name um email COUNT g
  • 如何在git中查看旧版本的文件夹

    我需要从原点提取更改 问题是其中一个库已更新到最新版本 它使我的应用程序部分崩溃 我想提取最近的更改 然后返回到仅一个文件夹的先前 或特定 版本 其中包含导致该问题的 lib txt 文件 有什么办法可以做到这一点吗 git checkou
  • setMethod("$<-") 和 set setReplaceMethod("$") 有什么区别?

    Question 当编程时r与s4面向对象系统 当一个人必须使用setReplaceMethod 我不明白与setMethod添加时 lt 到函数的名称 做setMethod lt and setReplaceMethod 是平等的吗 文档
  • C# 中“get”和“set”属性的用途是什么

    我看到一些 get set 方法来设置值 谁能告诉我这样做的目的吗 public string HTTP USER NAME get return UserName set UserName value public string HTTP
  • TensorFlow 2.0 [条件 x == y 不按元素成立:]

    我正在使用 TensorFlow 2 和 Keras 训练国际象棋程序 以前 如果我在与模型训练相同的脚本中加载数据 我就可以完成这项工作 但随着数据集变得更大 腌制数据然后重新加载它会更快 当我这样做时 即使将模型修剪到一层以简化问题 我
  • 在 Node.js 中使用串口进行异步/等待

    使用 Node js 致力于 PC 和基于 Arduino 的硬件之间的通信 最后一个设备是用 G 代码实现的 所以如果我发送 G0 我将收到两行 一个用于确认已收到指令 第二个用于确认数据 我想使用 async await 但出了点问题
  • CORS:为什么我成功获得了预检选项,但发布后仍然出现 CORS 错误? [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 目前不接受答案 我有一个使用 axios 发出 http 请求的 Vue 前端 以及一个使用express 的 Node 后端 它们位于不同的域 本地运行时 BE端口是3080 FE端口是3
  • 为什么Java中的private static field = new Singleton不懒呢?

    我读了很多关于 Singleton 的文章 其中大多数作者都说 Java 中 Singleton 的这种变体 public class Singleton private static Singleton instance new Sing
  • 在某个元素之前添加元素

    我有这个代码 td div class imagebutton abc div td 我想在这段代码中添加另一个元素 如下所示 p blablablalblablab p td div class imagebutton abc div t
  • 如何判断 Perl 脚本是否在 CGI 上下文中执行?

    我有一个 Perl 脚本 它将从命令行作为 CGI 运行 从 Perl 脚本中 我如何知道它是如何运行的 最好的选择是检查GATEWAY INTERFACE环境变量 它将包含服务器正在使用的 CGI 协议的版本 这几乎总是CGI 1 1 T
  • 使用 VB 6 代码从任务管理器结束进程

    我需要粗略地终止一个应用程序 以便我可以在我的数据库中获得该应用程序的幻像订阅者 这不能通过关闭应用程序来产生 手动地 如果我们从任务管理器终止应用程序 幻影订阅者将存在 现在我需要在 VB 6 代码中自动完成它 帮助 谢谢 有两种方法 S
  • 使用 download.file() 从 HTTPS 下载文件

    我想使用 R 读取在线数据download file 如下所示 URL lt https d396qusza40orc cloudfront net getdata 2Fdata 2Fss06hid csv download file UR
  • C(非 C++)有限域(伽罗瓦域)线性代数库

    我正在寻找一个有限域 伽罗瓦域C 的精确线性代数库 C 是不可接受的 因为我需要能够编写一个 Haskell 绑定到它 这显然是C 很难 我找到了类似的图书馆FFLAS FFPACK and Givaro但这些是 C 模板库 In part
  • 地址清理程序不适用于 Windows 上的 bash

    目前在 Windows 上的 Ubuntu Bash 上运行 llvm clang clang format 和 clang modernize 我想使用谷歌发布的一套清理工具 包括地址 内存和线程清理 fsanitize 选项似乎都不起作
  • 将字符串转换为 long long

    我正在使用 VS 2008 创建一个 C DLL 非托管 项目 我需要将 char 转换为 long long 类型 有简单的方法吗 提前致谢 最简单的方法是使用 std stringstream 它也是最类型安全的 std strings
  • 兼容类型和参数类型限定符

    这两个声明的类型是否兼容 void f char char void f char restrict char restrict 或类似 void g char void g char const 我很难在标准中找到涵盖该问题的任何内容 我