2 cafeini cafeini 于 2015.05.25 21:35 提问

error C2065: 'exp' : undeclared identifier

代码如下:
CFnn::CFnn()
{
fp=fopen("www.txt","w+");
ddd=0;
Error=0.0;
Input[0]=0;
Input[1]=0;
Output=0;
m_Bool=false;
InitNet();
}

CFnn::~CFnn()
{
fclose(fp);
}
//模糊神经网络控制的主函数
double CFnn::Control(double input1,double input2)
{
Input[0]=input1;
Input[1]=input2;
if(m_Bool==true)
{
NetIO();
Teacher();
}
m_Bool=true;
Output=NetIO();
return(Output);

}

//模糊神经网络的输入和输出的映射
double CFnn::NetIO()
{

double sum,Out;

if(ddd==2)
{
    ddd--;
    ;}
ddd++;
int i,j,k;
for(i=0;i<2;i++)
{
    for(j=0;j<9;j++)
    {
        NetIn_1[i][j]=Input[i]-W_m[i][j];
        NetOut_1[i][j]=NetIn_1[i][j]*NetIn_1[i][j];
        NetIn_2[i][j]=-NetOut_1[i][j]/(W_delta[i][j]*W_delta[i][j]);
        NetOut_2[i][j]=exp(NetIn_2[i][j]);//问题提示是这里。。。
    }
}

k=0;
for(i=0;i<9;i++)
{   

    for(j=0;j<9;j++)
    {
        NetIn_3[k]=NetOut_2[0][i]*NetOut_2[1][j];
        k++;
    }
}
sum=0;
for(i=0;i<81;i++)
    sum=sum+NetIn_3[i];
for(i=0;i<81;i++)
    NetOut_3[i]=NetIn_3[i]/sum;

Out=0;
for(i=0;i<81;i++)
{
    Out=Out+NetOut_3[i]*W_t[i];


}
Out=Out/4.0;
TRACE("the Error is :%lf    \n",Error);
TRACE("the out is :%lf    \n",Out);

return(Out);

}
小白求解释!

3个回答

devmiao
devmiao   Ds   Rxr 2015.05.25 21:55
已采纳

exp看上去是一个函数,如果是数学函数,那么你缺少include math.h

oyljerry
oyljerry   Ds   Rxr 2015.05.25 22:18

你的exp没有定义,编译器无法识别。你实现的代码包含了?

frank_20080215
frank_20080215   2015.05.26 06:29

exp没有定义和声明,#include

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
arp error C2065
error C2065: 'PacketGetVersion' : undeclared identifier
error C2065: 'cout' : undeclared identifier
问题: 网上解决方案: 1.没有加#include <iostream> using namespace std;or 2.包含的库的顺序需要调整一下
error C2065: 'CoInitializeEx' : undeclared identifier; 解决方法
<br />在stdafx.h中定义(放在#define VC_EXTRALEAN 的下一行)<br /> #define _WIN32_WINNT 0x0500<br /><br /> 实际上你可以看objbase.h的文件中CoInitializeEx的定义:<br /><br /> #if (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM) // DCOM<br /> WINOLEAPI CoInitializeEx(LPVOID pvReser
20140624:error:error C2065: 'sprintf' : undeclared identifier
1、出错原因是:我以为c++兼容所有的c,
error C2065: ‘__in’ : undeclared identifier
转自VC错误:http://www.vcerror.com/?p=1307 问题描述: 编译时出现: error C2065: ‘__in’ : undeclared identifier error C2146: syntax error : missing ‘)’ before identifier ‘HRESULT’ warning C4229: anachroni
error C2065: '_T' : undeclared identifier
加上#include 即可。
error C2065: 'xxxx' : undeclared identifier
编号:C2065 直译:标识符“xxxx”未定义。 错误分析: 首先,解释一下什么是标识符。标志符是程序中出现的除关键字之外的词,通常由字母、数字和下划线组成,不能以数字开头,不能与关键字重复,并且区分大小写。变量名、函数名、类名、常量名等等,都是标志符。所有的标志符都必须先定义,后使用。标志符有很多种用途,所以错误也有很多种原因。 (1)       如果“xxxx”是一个变量名,那么通
error C2065: 'new' : undeclared identifier,主要是因为是.C文件
char *filename=new char[100]; 在.C文件中,就出现new 没声明, 如果是在.cpp文件中,就没有任何问题
error C2065: 'CString' : undeclared identifier
有时候只是对自己算法做个小小的测试,不想建MFC工程那么麻烦,但是又习惯了用他的CString类,唉,人贱啊,所以出现了如题的问题:1.包含头文件afx.h2.加载mfc的库,设置办法:菜单栏里的project->settings->General选项卡下的Microsoft F
error C2065: '_beginthreadex' : undeclared identifier 的解决办法
error C2065: '_beginthreadex' : undeclared identifier 的解决办法     在VC下编译多线程程序时,经常加入了头文件#include,编译时还是出现error C2065: '_beginthreadex' : undeclared identifier 的问题,原因是VC打开时编译程序时,工程中设置的单线程,所以要更改工程中的设置。