C++ pro*C中无正文的函数声明

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_

根据这些评论,我将主题改为proc代码,我 撤消它是C++语法的说法。保持标签不变;正如我 仍然希望它类似C++,没有PRC标签,请忍受 用它


我想这是一个非常新的问题。但由于我没有足够的时间学习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++中不被支持。此外,空main <代码>在C和C++中都无效。与您的要求<代码> optOnIOFION/COD>只定义为<代码>结构> /COD>,不是函数,但是C和C++允许使用相同的名称来命名<代码>结构> /COD>和函数。但是这个链接表示PRO*C代码遵循相同的C/C++语法,但是“三”的可能性有:(1)你对你在那一页上读到的东西的解释是错误的,或者(2)那个页面上的错误是什么,或者(3)你察觉到一个没有的矛盾。“我没有足够的时间学习C++文档”。你将在这个项目上度过一段艰难的时光。考虑雇佣某人。@ USE1016198,链接没有关于语法的事情。非常感谢。非常感谢你的努力。即使这个问题看起来不可接受。它也欺骗了我一秒钟,它看起来确实很奇怪。干杯,祝你好运。