C++ pro*C中无正文的函数声明
根据这些评论,我将主题改为proc代码,我 撤消它是C++语法的说法。保持标签不变;正如我 仍然希望它类似C++,没有PRC标签,请忍受 用它C++ pro*C中无正文的函数声明,c++,c,C++,C,根据这些评论,我将主题改为proc代码,我 撤消它是C++语法的说法。保持标签不变;正如我 仍然希望它类似C++,没有PRC标签,请忍受 用它 我想这是一个非常新的问题。但由于我没有足够的时间学习C++文档,所以如果能得到帮助,我会很感激。 我正在研究类似C++语法的PRO*C代码转换。 下面是代码片段 #include <stdio.h> #include <string.h> #include <prg_codes.h> #include <prg_
我想这是一个非常新的问题。但由于我没有足够的时间学习C++文档,所以如果能得到帮助,我会很感激。 我正在研究类似C++语法的PRO*C代码转换。 下面是代码片段
#include <stdio.h>
#include <string.h>
#include <prg_codes.h>
#include <prg_defines.h>
typedef struct
{
int errorflag;
int slot;
} option_info;
int calc_options(currArgc,currArgv,options)
int currArgc;
char *currArgv[];
option_info *options;
{
int optChar;
int invopt=0;
while ((optChar = getopt(currArgc, currArgv, ":s:")) != -1 && !(invopt))
{}
/* other commands */
}
void main(int argc, char *argv[])
{
option_info options;
int rc = 0;
rc=calc_options(argc,argv,&options);
/* other commands */
}
#包括
#包括
#包括
#包括
类型定义结构
{
国际错误标志;
int槽;
}选项信息;
int calc_选项(currArgc、currArgv、选项)
int currArgc;
字符*currArgv[];
选项信息*选项;
{
int optChar;
int invopt=0;
while((optChar=getopt(currArgc,currArgv,“:s:”)!=-1&!(invopt))
{}
/*其他命令*/
}
void main(int argc,char*argv[])
{
选项信息选项;
int rc=0;
rc=计算选项(argc、argv和选项);
/*其他命令*/
}
我的问题是
option\u info
先定义为结构,然后定义为函数,并从main调用。好吗?它是如何工作的
是函数calc\u options
中的option\u info
。因为选项信息似乎使用了在计算选项中定义的参数
或者,
calc\u options
body写在include部分的任何其他文件中的其他地方?这个代码段是用古老的K&R C语法编写的,早于ANSI C。然后它被奇怪地缩进,乍一看就像你描述的那样,但事实并非如此calc_options
是带有三个参数的函数定义,其中第三个参数是指向typedef option_info的指针options
这与ANSI C语法中的内容相同,因此更易于阅读:
int calc_options(int currArgc, char *currArgv[], option_info *options)
{
int optChar;
int invopt=0;
while ((optChar = getopt(currArgc, currArgv, ":s:")) != -1 && !(invopt))
{}
/* other commands */
}
“选项信息定义为结构”Yes(以及结构的类型定义)
“然后作为一个函数从main调用”否
“可以吗?”可以(但应更改为ANSI语法)
“它是如何工作的?”相当不错
“选项信息是否在函数calc\u options中?”它是第三个参数的类型options
“因为选项信息似乎使用了在计算选项中定义的参数。”这是参数类型options
< P> >或CalcCyValpObScript是在包含部分中的任何其他文件中写的?“<强> NOP<强/> /P>函数的声明语法是KNNIGANG和里奇C(从1970),它在C++中不被支持。此外,