问题标签 [implicit-declaration]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - 用于创建集合的类型的隐式排序概念的差距
如果这个问题的解决方案太明显或者之前已经在这个论坛中解决了,请见谅(在这种情况下,请指点我的帖子)。
我有一堂课
然后,在同一个源文件中,我还定义了一个隐式值,它定义了这种类型的对象的排序方式,因此:
以下是本论坛给出的解决方案。
现在,我想创建一个专门的 Set,它将 Set 中的元素数量限制为给定数量。因此,我定义了一个单独的类,如下所示:
对我来说,这似乎是继承 TreeSet 的正确方法。但是,编译器会抛出以下错误:
(1) 没有为 LengthContentsPair 定义隐式排序。
(2)构造函数TreeSet的参数不够:(隐式排序:Ordering[LengthContentsPair])scala.collection.immutable.TreeSet[LengthContentsPair]。未指定的值参数排序。
我是否错误地理解了范围规则?我觉得这很容易,但我不能把手放在它上面。
c - C:函数的隐式声明
我正在执行一项任务,我们正在开发自己的 RPC 客户端。在编译我的服务器部分时,我收到以下警告:
我知道如果我要在我的 main 之后创建一个函数,我通常会收到此警告,例如:
在上述情况下,它应该抱怨我创建的函数“doSomething”。
那么为什么我的编译器会抱怨一个系统调用是隐式声明的,当它出现在一个在 main 之前声明的函数中时?下面是出现系统调用的函数。
objective-c - 函数“completionHandler”的隐式声明在 C99 中无效
XCode 在声明下面的方法时向我返回警告说“函数'completionHandler' 的隐式声明在 C99 中无效”,那么问题是什么?
c - 隐式函数声明有时在 C 中有效?
有人可以向我解释为什么以下编译:
但这不会:
我认为 C/C++ 中需要前向声明,但这里有一个反例。隐式声明如何在 C 中工作?
fortran - 理解 fortran 77 代码
拆分使用隐式声明和 go to 语句的 fortran 77 代码的最佳方法是什么?我习惯于使用 f95 或更高版本的显式声明、模块、数据类型等。f77 的东西让我很头疼。
任何其他人关于如何分解这些古老代码的经验的建议将不胜感激。
c++ - 显式移动 ctor 是否消除了隐式复制 ctor?
我在接受的答案中读到:
[a] 不会为显式声明移动构造函数或移动赋值运算符的类生成复制构造函数和复制赋值运算符
我确实注意到(g++ 4.7.2),如果你定义了一个移动构造函数,它将与例如 一起使用push_back()
,而如果你所做的只是= delete
复制构造函数,你不会得到一个隐式移动构造函数——你会得到一个错误。 [...这让我想知道如果您没有明确执行任何操作,实际使用的是哪个(移动或复制)...]
但是,此在线参考并没有明确承诺在定义移动构造函数时不会隐式定义复制构造函数。
所以我的问题是,标准是否保证了第一个报价(包括"or")?对于一些需要显式析构函数的类,我更喜欢仅使用移动构造函数和(删除的)移动运算符来完成“五规则”,并依赖未定义的隐式复制方法。如果我不能依赖它,那么我将不得不明确地指出=delete
它们——但这是很多潜在的冗余内容。
c - “strcpy”(C)的自己实现不起作用!冲突的类型。为什么?
我的大学建议我从这份文档中学习C
成为一名Java
程序员:“<a href="http://faculty.ksu.edu.sa/jebari_chaker/papers/C_for_Java_Programmers.pdf" rel="nofollow noreferrer">C for Java程序员”,J. Maassen 着。
在第 46 页(PDF-page 47),Maassen 尝试实现他自己版本的C
'sstrcpy
函数,称为my_strcpy
我试图用这个函数编写一个程序。
查看第 45 页(PDF-第 46 页)。在这里,Maassen 介绍了他的第一个版本的 astrcpy
方法。他包括stdio.h
并复制strA
到strB
.
那么,下面的程序应该可以工作,不是吗?
嗯,实际上并没有。
因为每次我编译这个程序时,我都会收到以下错误:
为什么这个程序不起作用?我的意思是,它应该工作,不是吗?
我在这里strcpy
看到了一个类似的函数实现。而且该实施也不起作用!我遇到了同样的错误!
怎么了?
c++ - 为什么移动构造函数既没有用clang声明也没有删除?
考虑以下类。
with_copy
有复制构造函数吗?是的。它是明确定义的。with_copy
有移动构造函数吗?不会。显式复制构造函数会阻止生成它。- 是否
with_copy
有已删除的移动构造函数?不,没有移动构造函数与删除构造函数不同。已删除的移动构造函数将尝试移动格式错误而不是退化为副本。 - 可复制吗
with_copy
?是的。它的复制构造函数用于复制。 - 是
with_copy
可移动的吗?是的。它的复制构造函数用于移动。
...现在是棘手的。
foo
有复制构造函数吗?是的。它有一个已删除的,因为由于调用unique_ptr
的已删除复制构造函数,它的默认定义格式不正确。foo
有移动构造函数吗?GCC 说是,clang 说不。- 是否
foo
有已删除的移动构造函数?GCC 和 clang 都说不。 - 可复制吗
foo
?不,它的复制构造函数被删除了。 - 是
foo
可移动的吗?GCC 说是,clang 说不。
(当考虑分配而不是构造时,行为是相似的。)
据我所知,GCC 是正确的。foo
应该有一个移动构造函数,对每个成员执行移动,在这种with_copy
情况下会退化为副本。Clang 的行为似乎很荒谬:我有一个有两个可移动成员的聚合体,但我的聚合体是一块不可移动的砖。
谁是对的?