当没有返回值时,用作方法/函数的返回类型的语法占位符的不完整类型。
为什么在此 C++ 标准提案中使用 `(void)++p` 而不是仅使用 `++p`?
在一份C++标准提案中,我发现一段奇怪的代码片段如下: 模板 S,nothrow_forward_iterator I2> constexpr auto uninitialized_copy(我首先...
我正在对 Java 应用程序进行重构/审查。 当我这样做时,我表明某些方法已经 返回值,例如Object、String、Boolean等,但是 返回值不用于任何 p...
考虑以下基本类模板: #包括 模板< typename T > A类{ 民众: A() = 默认值; T 对象; 模板< typename U = T, type...
我想在Typed Racket中使用struct定义一个类型。例如 : (结构a节点 ([行:ProgLine] [延迟:整数] [预边缘:(列表边缘)] [succ-edges : (列表边缘)]) #:
问题:如果我有一个指向“ints”结构的指针,如下所示,并将其转换为 void 并返回,这是否意味着我不再允许释放它? free如何跟踪分配...
在尝试重新编码 printf 时收到使用 void * 的警告
我正在尝试设置一个函数数组,这些函数接受需要不同变量的函数(例如,my_putchar需要一个char,而my_put_nbr需要一个int),所以我决定定义它......
我打算将我的问题作为以下问题的后续:我们如何将 void_t 用于 SFINAE?我明白了 void_t 是如何使用的。我不明白为什么有必要。 让我们以那个问题为例...
requires 表达式可以使用参数列表引入局部参数。如果这些参数中的任何一个具有 void 类型,则 require 表达式是否会产生 false 还是应该进行硬编译...
我知道下面并不意味着返回“类型”为空。我的理解是 voidFunc 不返回任何内容,因为它返回“void”。为什么它返回任何类型? 类型 voidFunc = () => void
我知道 void 类型在 C 中意味着根本没有值 https://www.gnu.org/software/c-intro-and-ref/manual/html_node/The-Void-Type.html 。但是,我看过一些 C 代码,其中有一些参数变量...
如何在 godot 的 GDScript 中切换“-> void”?
不久前,我打开了一个设置,使 Godot 能够自动将 -> void 添加到新函数中。 这是一个例子: func _ready() -> void: 经过 我想把它关掉然后...
我想知道将函数转换为空会如何影响速度。我的意思是: 整数a,b; int 主函数(){ (void)my_func(); } int my_func(){ 返回a+b; } 编译器会用这个做什么。 int a,b;...
我是逆向工程的完全初学者。 最近我一直在学习 gdb 以及如何调试程序。 我很怀疑这是否是一个简单的问题 #包括 #在...
我们用什么标准来决定何时使用 void 何时不使用? 为什么有些方法有返回类型,而另一些则没有? 解释一下返回类型的必要性以及为什么...
根据 C++23 以来的 cppreference 对于未使用 cv 限定符或 ref 限定符声明的非静态非虚拟成员函数,其第一个参数如果不是函数参数包,可以...
Java中有没有办法让我们在运行时知道函数的返回类型是什么?我需要编写一段代码来修改java源文件中的某些语句并将它们包装起来......
我正在尝试开发一个测验应用程序并遇到这个问题: 参数类型“void Function(int)”无法分配给参数类型“void Function()”。 dartargument_type_not_assignable 无效
void 指针指向的内存大小是多少? 在下面的示例中,我比较了两个指向相同“原始数据”但类型不同的空指针......
以下代码将生成警告。 (原因是因为你需要将 1,2,3 括在括号中)。 $ perl -wE'my @foo = 1,2,3;' 在 -e 第 1 行的 void 上下文中无用地使用常量 (2)。 我们...
我正在使用 PHP 7 测试返回类型。 我创建了一个简单的脚本来测试 PHP 7 的返回类型: 我正在使用 PHP 7 测试返回类型。 我创建了一个简单的脚本来测试 PHP 7 的返回类型: <?php Class Obj { public function __construct(){ } public function test(): string { //a string needs to be returned return "ok"; } } function foo(): Obj { //instance of Obj needs to be returned return new Obj(); } $o = foo(); echo $o->test(); // output: ok 现在在其他编程语言中,当您指定返回类型时void,这意味着您无法返回任何内容,否则会收到错误。所以我写了这个脚本: <?php function foo(): void { } foo(); 现在在上面的脚本中,预期的输出什么也没有。 相反,它给了我一个致命错误: 致命错误:foo()的返回值必须是void的实例,第2行没有返回 我的问题是(我找不到),在 PHP 7 中会有类似的 void 类型吗? 编辑: 针对 void 返回类型的新单独 RFC 已发布,已通过投票,并在 PHP 7.1 中实现。 PHP 中现在有一个 void 返回类型。 :) 原帖: 取自wiki.php.net: 未来的工作 超出本 RFC 范围的未来工作想法包括: 允许函数声明它们根本不返回任何内容(Java 和 C 中为 void) 所以目前没有办法声明您不退回任何东西。 我不知道在你的情况下什么是最好的,但我可能会暂时不声明返回类型。 回答你的问题 PHP 7 中是否会有 void 返回类型: 目前还没有 保证,但我认为 void 或同义词很可能会以某种方式实现。 php 7.1 接受 void返回类型。所以它会在未来出现。 有关其工作原理的一些示例: function should_return_nothing(): void { return 1; // Fatal error: A void function must not return a value } function returns_null(): void { return null; // Fatal error: A void function must not return a value } function lacks_return(): void { // valid } function returns_nothing(): void { return; // valid } 请参阅 Andrea Faulds 的 RFC 了解更多信息! 编辑:在 PHP 7.1 中,有一个 void 伪类型。它在Void Return Type RFC中定义。以下是 7.1 之前的答案。 返回类型 RFC 的作者在这里。在 PHP 7.0 中,不会有 void 返回类型,因为 RFC 没有添加它,任何其他针对 PHP 7.0 的 RFC 也没有添加它。 如果我们决定为次要版本添加新的关键字/保留字是可以的,即使它们会破坏代码,则类型 void 可以存在于 PHP 7 系列中。这有点不确定,但它是在 PHP 5.4 中使用 callable 关键字完成的。 就个人而言,我认为我们不需要void;我们已经有了 null。 来自手册: 特殊的NULL值表示没有值的变量。 NULL 是 null 类型唯一可能的值。 在 PHP 中,不返回任何内容的函数将隐式返回 null。这意味着您永远无法“实际上”返回任何内容*。走 null 路线意味着不会出现向后兼容性中断,因为 null 不会是从 PHP 7.0 开始的有效类/接口/特征名称,并且不会添加任何新键或保留字。 *熟悉 Zend 引擎的人会意识到你可以不返回任何内容,但如果你不返回任何内容,你正在分配的变量将被分配为 null,这使得它们在逻辑上是等效的。 php 中没有 void 的等效类型, 返回空值;可能符合您的要求,因为它没有任何类型,如 0 或任何其他值。注意:实际无效意味着没有返回。 @BeNice 我理解你的观点,无论如何我总结了以下考虑 Levi Morrison 作为可持续发展的一个实际问题:引入 void 作为可能的回报类型事实上,我们打破了 null 唯一可能类型是 null 的假设。 这样,应该返回void来进行null的类型检查,通过设计改变架构约束并导致向后兼容性混乱。 // your choice implies this comparison should be true: gettype(null) === void; 我认为在代码中不经常使用 null 的人将承担 void 类型实现。 虽然当你设置返回类型为void时你不能返回任何东西,但是你可以在函数中打印一些东西。 类似这样的事情。 <?php function foo(): void { print "OK"; return; } foo(); ?> 这将打印“OK”,但它不返回任何内容。 另外,需要注意的是,我们只能使用 void 作为返回类型。我们不能将它用作函数参数类型。 示例: function myfunction(void $param) { } 它将产生这个致命错误 // Fatal error: void cannot be used as a parameter type 此外,如果您使用OOP,则无法在继承期间更改void返回类型。 示例: class MyClass { public function myMethod(): void { } } class MyNewClass extends MyClass { public function myMethod(): array { } } 这将产生这个致命错误 Fatal error: Declaration of MyNewClass::myMethod(): array must be compatible with MyClass::myMethod()