标签: function-declaration

C++ 11,`noexcept`说明符,定义与声明

如果声明的函数具有noexceptspecificator( ,noexcept,noexcept(true),noexcept(false)或任何其他noexcept(expr)计算结果为truefalse),但它在另一个地方定义的,做我需要指定noexcept再次定义符,或仅在其向前声明?

c++ function-declaration noexcept c++11

15
推荐指数
1
解决办法
1196
查看次数

K&R样式函数定义问题

以下代码有效:

int main()
{
   void foo(int);
   foo(3);
   return 0;
}
void foo(a) int a;
{
   printf("In foo\n");
}
Run Code Online (Sandbox Code Playgroud)

但这个没有:

int main()
{
   void foo(float);
   foo(3.24);
   return 0;
}
void foo(a) float a;
{
   printf("In foo\n");
}
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

c function-declaration

14
推荐指数
1
解决办法
3962
查看次数

如何理解这个定义

如今,我正在阅读APUE.我发现函数定义如下:

void (*signal(int signo, void (*func)(int)))(int);
Run Code Online (Sandbox Code Playgroud)

我很困惑,我知道signal是指向函数的指针,而last(int)是他的参数.我不知道是什么(int signo,void(*func)(int)).

c linux syntax function-declaration

12
推荐指数
3
解决办法
1191
查看次数

为什么空声明适用于带有int参数的定义但不适用于浮点参数?

我认为区别在于declaration没有参数类型......

为什么这样做:

int fuc();

int fuc(int i) {
  printf("%d", i);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

但这无法编译:

int fuc();

int fuc(float f) {
  printf("%f", f);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

随着消息:

错误:'fuc'的冲突类型.注意:具有默认促销的参数类型不能与空参数名称列表声明匹配

c function-prototypes function-declaration

12
推荐指数
1
解决办法
1万
查看次数

extern声明和函数定义都在同一个文件中

我只是浏览gcc源文件.在gcc.c,我发现了类似的东西

extern int main (int, char **);

int
main (int argc, char **argv)
{
Run Code Online (Sandbox Code Playgroud)

现在我的疑问是extern告诉编译器特定的函数不在这个文件中,但是会在项目的其他地方找到.但是在这里,定义main是在extern声明之后立即.extern宣言服务的目的是什么?

看起来,在这个具体的例子中, extern似乎表现得像export我们在汇编中使用的那样,我们在模块之外输出一个特定的符号

有任何想法吗?

c declaration extern function-declaration

11
推荐指数
2
解决办法
1万
查看次数

让java函数接受集合或数组

我正在尝试编写一个函数,它接受一些字符串并对它们做一些事情.

我要做的唯一事情是字符串集循环遍历它们.现在,我最终得到了一条笨拙的构造

public void foo(String[] myStrings){
    foo(java.util.Arrays.asList(myStrings));
}

public void foo(Iterable<String> myStrings){
    for(String i : myStrings){
        bar(i);
    }
}
Run Code Online (Sandbox Code Playgroud)

从那以后感到多余

for(String i : myStrings){
    bar(i);
}
Run Code Online (Sandbox Code Playgroud)

对于String []类型的myStrings来说,它将是完全有效的代码.

是否有一个我可以接受foo的类,它将允许集合和数组?

java arrays collections function-declaration

11
推荐指数
1
解决办法
1941
查看次数

具有相同参数的Javascript函数声明

我自己在学习javascript.我发现如果我声明一个具有相同参数的函数它只是工作正常:

function func(a, b, a){
  return b;
}
alert(func(1,2,3));
Run Code Online (Sandbox Code Playgroud)

但如果我这样做:

function func(a, b, a = 5){
  return b;
}
alert(func(1,2,3)); 
//Firebug error - SyntaxError: duplicate argument names not allowed in this context
Run Code Online (Sandbox Code Playgroud)

然后它不再工作了.它为第一个方程而不是第二个方程式的工作原理是什么?

javascript function function-declaration

11
推荐指数
1
解决办法
3811
查看次数

在 C 中使用第一个数组元素作为数组长度是一种很好的编程习惯吗?

因为在 C 中必须在定义数组时声明数组长度,所以使用第一个元素作为长度是否可以接受,例如

int arr[9]={9,0,1,2,3,4,5,6,7};
Run Code Online (Sandbox Code Playgroud)

然后使用这样的函数来处理数组:

int printarr(int *ARR) {
    for (int i=1; i<ARR[0]; i++) {
        printf("%d ", ARR[i]);
    }
} 
Run Code Online (Sandbox Code Playgroud)

我看不出这有什么问题,但更愿意先咨询有经验的 C 程序员。我将是唯一一个使用代码的人。

c arrays definition function-declaration

11
推荐指数
3
解决办法
278
查看次数

OCaml:在定义函数之前声明它

有没有办法在OCaml中定义函数之前声明一个函数?我正在使用OCaml解释器.

我有两个功能:

let myFunctionA = 
(* some stuff here..... *) myFunctionB (*some stuff *)

let myFunctionB = 
(* some stuff here .... *) myFunctionA (* some stuff *)
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为myFunctionA在制作之前无法调用myFunctionB.

我做了一些谷歌搜索,但似乎找不到任何东西.我怎么能做到这一点?

ocaml functional-programming function mutual-recursion function-declaration

10
推荐指数
1
解决办法
4909
查看次数

什么" - &gt;" 在声明函数时意味着什么?

示例功能

func example(titles: [String]) `-&gt;` [UIButton] {

}
Run Code Online (Sandbox Code Playgroud)

我在哪里可以找到关于这个主题的更多文档(与swift中声明的函数相关的文档)?

function-declaration ios swift

10
推荐指数
1
解决办法
9256
查看次数