问题标签 [function-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.
haskell - 为什么我会收到类型错误?
在 Haskell 中,我在定义函数时遇到了一些问题,因为我的参数类型与所需的类型不匹配。
例如,我想编写一个函数,它接受一个n :: Int
并产生从 1 到 的floor
平方根的整数列表n
。因此,我将有一个功能,例如:
最初我将函数定义如下:
当我加载脚本时,出现类型不匹配的错误消息。但是,我不确定我是否不匹配sqrt
函数或floor
函数的类型。错误信息如下:
有人可以向我解释导致错误的原因以及如何修复它吗?
javascript - 所有函数表达式突然不被识别为函数
我有一个包含许多函数表达式的大量 javascript 文件。突然控制台给了我以下错误:
在 IE 中
在火狐中
这就是我调用函数的方式:
这是功能:
这发生在所有函数表达式上。如果我将一个更改为函数声明,它可以工作,但是在其中的一些其他函数表达式调用上会失败。有没有搞错?
c++ - C++ 成员函数未声明错误,当它看起来是
我收到错误:
cs163hw1.cpp:41:24: 错误:没有在类“menutype”中声明的“int menutype::run_prog()”成员函数</p>
和
main.cpp:18:7: 错误:“struct menutype”没有名为“run_prog”的成员</p>
尝试使用相关代码(跨越 appriprait .cpp 和 .h 文件)编译我的程序时:
我不知道为什么会这样,有什么猜测吗?
c++ - 我的模板类中的函数出现错误 C4430、C2143 和 C2244
我正在尝试创建一个采用模板类型并将其添加到列表/数组末尾的函数,但我遇到了一个我似乎找不到解决方法的错误。我是模板新手,所以我不确定这是否是我使用模板或其他东西的问题。
这是我拥有的代码的相对部分:
我收到这些错误:
对此的任何帮助将不胜感激!
c++ - 如何在 C++ 中声明具有定义 func(cv::Mat &img) 的函数
你如何声明这样定义的函数:
更多细节:
我在“main”函数下方的 main.cpp 文件中定义了函数“func”。编译器抱怨它不知道函数“func”是什么,所以我尝试将原型放在“main”函数之上。
我试过了
但这没有用。
java - 让 java 函数接受集合或数组
我正在尝试编写一个函数,该函数需要一些字符串并对其进行处理。
我要做的唯一一件事就是对字符串进行循环。现在我最终得到了一个尴尬的结构
感觉多余,因为
对于 String[] 类型的 myStrings 来说,这将是完全有效的代码。
是否有一个我可以让 foo 接受的类同时允许集合和数组?
c++ - 尾随返回类型语法是否应该是所有函数的默认语法?
可能重复:
替代函数语法
在复杂的函数模板中,有时需要 C++11 尾随返回类型语法才能decltype
在参数上使用,否则会为时已晚:
从现在开始总是使用这种新语法会不会更加一致,即使对于普通函数也是如此?
然后我们只需要处理一种函数语法而不是现代代码中的两种,我们可以弃用旧语法,就像我们弃用隐式 int 或隐式 using 声明一样。
为了使新语法更具吸引力,我们可以auto
用一个更好的名称替换:
突然之间main
,函数式程序员的签名看起来非常有吸引力:
我忽略了什么吗?尾随返回类型语法是否以某种我没有想到的方式较差?
c++ - 如何将指针作为数组参数传递?
我有一个第三方库,它的功能如下:
如果我写这样的东西:
但是我不想在堆栈上声明这么大的数组(这在 OS 内核环境中会非常危险)。所以我必须做这样的事情:
我无法更改 foo 的实现。我应该怎么做?
==================
这个问题已经解决。我的真实代码是这样的:
标准不隐式接受从 void* 到 char* 的转换。所以下面的代码有效:
javascript - 函数声明或函数表达式
我在块范围内定义函数时遇到了问题。考虑以下程序:
我希望这个程序能够提醒Merry Christmas!
。但是在 Firefox 中是给了我以下内容ReferenceError
:
在 Opera 和 Chrome 上,它会像我预期的那样提醒问候语。
显然,Firefox 将块作用域内的函数视为FunctionExpression
Opera 和 Chrome 将其视为FunctionDeclaration
.
我的问题是为什么 Firefox 的行为不同?哪种实现更合乎逻辑?哪一个符合标准?
我知道 JavaScript 中的声明被提升了,因此如果在同一范围内的两个或多个不同块中声明相同的函数,则会出现名称冲突。
但是,每次声明函数时重新声明函数不是更合乎逻辑,以便您可以执行以下操作:
除了解决我上面描述的块范围问题之外,我认为这将非常有用。
lua - 从其他函数中引用早期和后期函数?
我有一个 Lua 脚本,它提供了一个交互式文本菜单,用于在实际工作之前配置脚本。有一个main_menu()
函数,它有用户可以选择的选项,每个选项调用一个不同的submenu()
函数。这些不同的submenu()
函数中的每一个都做他们的事情,然后他们回到(他们调用)这个main_menu()
函数。最后,每个函数都有一个参数settings
传递给它,这是一个设置表。
事情看起来像这样:
问题是attempt to call nil
每当(据我所知)一个函数调用稍后在脚本中定义的另一个函数时,我都会遇到错误。所以如果像上面的例子一样,我定义submenu()
然后, 调用没有问题main_menu()
,但不能调用。main_menu()
submenu()
submenu()
main_menu()
FWIW,这是在 Minecraft 的 ComputerCraft mod 中完成的。