error C2447: missing function header (old-style formal list?)

源程序:
/***************************
去噪声
****************************/
//void BMPEdit::quzhaosheng()
{

float averg,averg2,averg3;
BYTE *p_data; //原图数据区指针
int wide,height; //原图长、宽
p_data=this->GetData ();//取得原图的数据区指针
wide=this->GetWidth ();//取得原图的数据区宽
height=this->GetHeight (); //取得原图的数据区高
if(m_pBitmapInfoHeader->biBitCount<9) //灰度图像
{
BYTE* p_temp=new BYTE[wide*height];
int size=wide*height;
memset(p_temp,255,size);
//用3*3屏蔽窗口的8近邻均值进行滤波
for(int j=1;j<height-1;j++)
{
for(int i=1;i<wide-1;i++)
{
averg=0;
//求周围8近邻均值
averg=(int)(p_data[(j-1)*wide+(i-1)]+p_data[(j-1)*wide+i]
+p_data[(j-1)*wide+(i+1)]+p_data[j*wide+(i-1)]
+p_data[j*wide+i+1]+p_data[(j+1)*wide+(i-1)]
+p_data[(j+1)*wide+i]+p_data[(j+1)*wide+i+1])/8;

p_temp[j*wide+i]=averg;
}
}
memcpy(p_data,p_temp,wide*height);
delete p_temp;
}
else //24位彩色
{
BYTE* p_temp=new BYTE[wide*height*3];
int size=wide*height*3;
memset(p_temp,255,size);

//用3*3屏蔽窗口的8近邻均值进行滤波
for(int j=1;j<height-1;j++)
{
for(int i=1;i<wide-1;i++)
{
averg=0;
averg2=0;
averg3=0;
//求周围8近邻均值
averg=(int)(p_data[(j-1)*wide*3+(i-1)*3]+p_data[(j-1)*wide*3+i*3]
+p_data[(j-1)*wide*3+(i+1)*3]+p_data[j*wide*3+(i-1)*3]
+p_data[j*wide*3+(i+1)*3]+p_data[(j+1)*wide*3+(i-1)*3]
+p_data[(j+1)*wide+i*3]+p_data[(j+1)*wide+(i+1)*3])/8;
averg2=(int)(p_data[(j-1)*wide*3+(i-1)*3+1]+p_data[(j-1)*wide*3+i*3+1]
+p_data[(j-1)*wide*3+(i+1)*3+1]+p_data[j*wide*3+(i-1)*3+1]
+p_data[j*wide*3+(i+1)*3+1]+p_data[(j+1)*wide*3+(i-1)*3+1]
+p_data[(j+1)*wide+i*3+1]+p_data[(j+1)*wide+(i+1)*3+1])/8;
averg3=(int)(p_data[(j-1)*wide*3+(i-1)*3+2]+p_data[(j-1)*wide*3+i*3+2]
+p_data[(j-1)*wide*3+(i+1)*3+2]+p_data[j*wide*3+(i-1)*3+2]
+p_data[j*wide*3+(i+1)*3+2]+p_data[(j+1)*wide*3+(i-1)*3+2]
+p_data[(j+1)*wide+i*3+2]+p_data[(j+1)*wide+(i+1)*3+2])/8;
p_temp[j*wide*3+i*3]=(int)averg;
p_temp[j*wide*3+i*3+1]=(int)averg2;
p_temp[j*wide*3+i*3+2]=(int)averg3;
}
}
memcpy(p_data,p_temp,wide*height*3);
delete p_temp;
}
}
}
错误:
Compiling...
BMPEdit.cpp
C:\Documents and Settings\Administrator\桌面\聚类分析程序-1130\BMPEdit.cpp(4854) : error C2447: missing function header (old-style formal list?)
C:\Documents and Settings\Administrator\桌面\聚类分析程序-1130\BMPEdit.cpp(4921) : error C2143: syntax error : missing ';' before '}'
C:\Documents and Settings\Administrator\桌面\聚类分析程序-1130\BMPEdit.cpp(4921) : error C2143: syntax error : missing ';' before '}'
C:\Documents and Settings\Administrator\桌面\聚类分析程序-1130\BMPEdit.cpp(4921) : error C2143: syntax error : missing ';' before '}'
Error executing cl.exe.

hwx.exe - 4 error(s), 0 warning(s)
谢谢了~~

第1个回答  2008-06-18
编译器错误 C2447:“{”: 缺少函数标题(是否是老式的形式表?)
在全局范围内出现左大括号,但没有相应的函数头。

可能的原因:老式 C 语言形式表

示例
// C2447.cpp
int c;
{} // C2447

建议:
//void BMPEdit::quzhaosheng()
打开行首的注释符号。

error C2447: missing function header (old-style formal list?)_百 ...
编译器错误 C2447:“{”: 缺少函数标题(是否是老式的形式表?)在全局范围内出现左大括号,但没有相应的函数头。可能的原因:老式 C 语言形式表 示例 \/\/ C2447.cpp int c;{} \/\/ C2447 建议:\/\/void BMPEdit::quzhaosheng()打开行首的注释符号。

...C2447: missing function header (old-style formal list?) 执 ...
嗯,对。如果你真的想把BitTransform定义成一个宏的话,需要在每一行后面都加一个“\\”。.希望能够帮助你 ^_^ 也希望能够选为最佳答案!

error C2447: missing function header (old-style formal list?) 报 ...
请再仔细检查一下代码格式是否有错,初步看了一下你的代码逻辑没错,但格式可能有问题。missing function header的意思就是你的函数格式错了,检查一下有没有少了或多了什么括号,或者少了或多了什么分号。我已经看到#include<windows.h>下面多了一个括号了 ...

...C2447: missing function header (old-style formal list?) 该...
{ int i=0,t=0;while(s[i]!='\\0') i++; \/\/问题出在这里。。。你仔细看一下 while(t<(i+1)\/2){ if(s[t]!=s[i-t-1]) \/\/这里还有小问题 return 0;t++;} return 1;} void main(){ char t[40];printf("请输入字符:");gets(t);if (ishuiwen(t))printf("是回...

...报错missing function header (old-style formal list?),怎么办...
;int a,b,c,d;scanf("%d,%d,%d",&a,&b,&c);d=max(a,b,c);printf("max=%d\\n",d );}int max(int x,int y,int z);{int d;if(x>y)d=x;else d=y;if(d>z);else d=z;return(d);}Cpp1.cpp(11) : error C2447: missing function header (old-style formal list?

missing function header (old-style formal list?)
一般的出现missingfunction header (old-style formal list?)表示:没有函数头,常见错误原因是在定义函数时函数体前误加了分号,比如本例中的第三行:void max (int,int,int,int,int );这个分号是不能要的。

...C2447: missing function header (old-style formal list?)_百 ...
include#include#includeint print_num(int num);int print_num(int num);{ int i;for(i=1;i<=num;i++){ 这里的int print_num(int num); 后面的分号去掉!

error C2447: missing function header (old-style formal list?)怎么...
在主函数前面添加 using namespace std; 就OK 了

...C2447: missing function header (old-style formal list?)错误...
SPMatrix*Addition(SPMatrix*A,SPMatrix*B,SPMatrix*C); \/\/矩阵相加 这句后面多个冒号。另外,在main()函数最好初始化指针

error C2447:missing function header (old-style formal list?是什么...
这一行末尾的分号应该删除:int main(void);

相似回答