【发布时间】:2015-12-10 06:42:28
【问题描述】:
基于 cmets,我已将主题更改为 proc 代码,并且我 撤回它是 C++ 语法的说法。保持标签相同;正如我 仍然希望它类似于c++并且没有可用的ProC标签请多多包涵 用它。
我想这是一个非常新的蜜蜂问题。但由于我没有足够的时间来学习 C++ 文档,如果我能得到这方面的帮助,我将不胜感激。
我正在转换类似于 C++ 语法的 pro*C 代码。
这里是代码sn-p
#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 */
}
我的问题是
option_info 被定义为一个结构然后作为一个函数并从 main 调用。好吗?它是如何工作的?
在函数calc_options 中是option_info。因为 option_info 似乎使用了 calc_options 中定义的参数。
或者calc_options body 写在包含部分的任何其他文件的其他地方?
【问题讨论】:
-
函数的声明语法是 Kernighan & Ritchie C(从 1970 年代开始),它在 C++ 中不受支持。此外,
void main在 C 和 C++ 中均无效。与您的说法相反,option_info仅定义为struct,而不是函数,但 C 和 C++ 允许为struct和函数使用相同的名称。 -
但是这个链接 infolab.stanford.edu/~ullman/fcdb/oracle/or-proc.html#overview 说 pro*c 代码遵循相同的 C/C++ 语法
-
关于“但是”有三种可能:(1)您对该页面所读内容的解释是错误的,或(2)该页面上的内容是错误的,或(3)您认为没有矛盾的地方。
-
“我没有足够的时间学习 C++ 文档”。你将在这个项目上度过一段艰难的时光。考虑雇用某人。
-
@user1016198 该链接没有说明语法。