帮助找一下错误,谢谢!!

cycchina 2007-10-10 04:08:56
下面的代码编译后是 20 C:\测试2.cpp a function-definition is not allowed here before '{' token
请帮助找一下错误,谢谢.
#include <windows.h>
#include <stdio.h>
#include <process.h>
#include <stdlib.h>
#define ENV_VAR_STRING_COUNT (sizeof(envVarStrings)/sizeof(TCHAR*))
#define INFO_BUFFER_SIZE 32767
main ()
{
char *path;
void compound(char, char(*get)(char)); /*声明 得到路径的函数 */
/*___________________________________________________________________________________*/

TCHAR infoBuf[INFO_BUFFER_SIZE];
DWORD bufCharCount = INFO_BUFFER_SIZE; /* 得到路径代码 */
*path = GetSystemDirectory( infoBuf, INFO_BUFFER_SIZE );

/*___________________________________________________________________________________*/

void compound(char path1, char(*get)(char)) /*合成函数定义*/
{

char *path1;
path1 = (*get)(*path1);
/*_______________________________________________________________________*/
char *destination [100];
char *blank = " ", *file_name = "cyc.exe"/*, *path =" " */;

strcpy (destination, path1);
strcat (destination, blank); /*合成代码 */
strcat (destination, file_name);
/*________________________________________________________________________*/
printf(" %s \n",destination); /*测试输出代码*/
}
}
...全文
81 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Hunter8212 2007-10-10
  • 打赏
  • 举报
回复
函数里面不能再定义另一个函数吧

把 compound 挪到 main 外面去吧
zhaohan7 2007-10-10
  • 打赏
  • 举报
回复
。。。。。。
_石头_ 2007-10-10
  • 打赏
  • 举报
回复
我对c++不了解,仅从c的角度来看代码的
void compound(char path1, char(*get)(char)) //此处变量path1是char形的,另外 char(*get)(char)可以直接作参数吗?
{
char *path1; //此处变量path1是char *形的
path1 = (*get)(*path1); //这里的函数参数类型和返回值的类型正好反过来了!
zeloas 2007-10-10
  • 打赏
  • 举报
回复
函数定义不能嵌套
楼主还是多看看基础吧
ckt 2007-10-10
  • 打赏
  • 举报
回复
没法改
你先看看C++语法吧

69,370

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧