2

所以我正在查看一个带有以下声明的字符串头文件:

string(const char*);

如果没有变量名,如何使用输入参数?另外,不写变量名有什么意义。我觉得如果你有一个方法可以接受 2 个相同类型的参数,你会被搞砸的。但主要问题是我什至如何在没有变量名的情况下访问这个输入参数。谢谢!

4

1 回答 1

5

就编译器而言,在声明函数时不需要知道参数的实际名称。它所需要的只是函数的签名:返回类型、名称和参数类型。

在定义函数时,即在源文件中,您只需要参数名称。

// foo.h
void foo(const char*);

// foo.c
#include "foo.h"
void foo(const char * c) {
    //OK
}

void bar(const char*) {
    //Indeed, we have no way to access the parameter
}

只要这些签名匹配,一切都会正常工作。如果这是您的头文件,通常最好在声明中包含参数名称,因为它是有用的文档。

于 2013-10-30T14:01:19.440 回答