Questions tagged «function-parameter»

10
为什么没有参数的函数(与实际函数定义相比)会编译?
我刚刚遇到了某人的C代码,但对于为什么编译它感到困惑。我不明白两点。 首先,函数原型与实际函数定义相比没有参数。其次,函数定义中的参数没有类型。 #include <stdio.h> int func(); int func(param) { return param; } int main() { int bla = func(10); printf("%d", bla); } 为什么这样做?我已经在几个编译器中对其进行了测试,并且工作正常。




5
如何创建多变量haskell函数?
我需要一个函数,该函数接受任意数量的参数(所有类型相同),对它们执行某些操作,然后返回结果。在我的具体情况下,参数列表是不可行的。 当我浏览haskell库时,我看到该函数printf(来自module Text.Printf)使用了类似的技巧。不幸的是,通过查看源代码我无法理解这种魔力。 有人可以解释如何实现这一目标,或者至少可以解释一些网页/论文/无论我能在哪里找到合适的描述吗? 动机: 我需要这个的原因确实很简单。对于学校(计算机科学班),我们需要编写一个模块,该模块能够“记录”数学表达式,将其表示为字符串(通过为自己的数据类型编写Num / Real / etc实例),然后执行各种操作就可以了。 此数据类型包含变量的特殊构造函数,可以用值或指定函数替换任何值。目标之一就是编写一个函数,该函数采用带有一些变量(成对的type (Char,Rational))的表达式,并计算表达式的结果。我们应该看看如何最好地表达功能的目标。(我的想法:该函数返回另一个函数,该函数接受与该函数中定义的var一样多的参数-似乎是不可能的)。


14
如何在MATLAB中处理函数参数的名称/值对
我有一个函数,将可选参数作为名称/值对。 function example(varargin) % Lots of set up stuff vargs = varargin; nargs = length(vargs); names = vargs(1:2:nargs); values = vargs(2:2:nargs); validnames = {'foo', 'bar', 'baz'}; for name = names validatestring(name{:}, validnames); end % Do something ... foo = strmatch('foo', names); disp(values(foo)) end example('foo', 1:10, 'bar', 'qwerty') 似乎在提取适当的值时需要付出很多努力(而且再次使用错误指定的输入仍然不是特别可靠)。有没有更好的方法来处理这些名称/值对?MATLAB附带有任何帮助程序功能吗?

3
如何避免从int(0)到向量指针的隐式转换
在某些情况下,我想收集JSON中键的路径的所有节点名称。考虑数组索引“ 0”,“ 1”的条件,也可以,但是很容易忘记引号,这在取消引用时会导致崩溃。所以我想拒绝这个。例: #include <vector> #include <iostream> int func(const std::vector<const char*>& pin) { return pin.size(); } int main() { // {"aname", "3", "path", "0"} wanted but this still compile std::cout << func({"aname", "3", "path", 0}) << std::endl; } 我发现并尝试过该如何避免在非构造函数上进行隐式转换?如下: #include <vector> #include <iostream> int func(const std::vector<const char*>& pin) { return …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.