输入流与字符串流在CL过程有WARNING,不知问题所在,请赐教!!!!
在命令行cl时,会出现warning: E:\Program\Microsoft Visual Studio\VC98\include\istream(41) : while comp
iling class-template member function 'bool __thiscall std::basic_istream<char,st
ruct std::char_traits<char> >::ipfx(bool)'
E:\Program\Microsoft Visual Studio\VC98\include\istream(46) : warning C4530: C++
exception handler used, but unwind semantics are not enabled. Specify -GX
...........................
程序如下:
#include<iostream>
#include<fstream>
#include<string>
#include<vector>
using namespace std;
string a, b;
int dist( );
int min(int a, int b, int c);
void main()
{
ifstream input("input.txt");
ofstream output("output.txt");
getline(input, a);
getline(input, b);
int d = 0;
d = dist();
output<< d;
input.close();
output.close();
}
int dist( )
{
int m = a.size();
int n = b.size();
int i = 0, j = 0 ;
if (n == 0)
return m;
if (m == 0)
return n;
//using namespace std;
vector < int > d(n + 1, 0 );
for ( i = 1; i <= n; i++)
d[i] = i;
for ( i = 1; i <= m; i++)
{
int y = i - 1;
for (j= 1; j <= n; j++)
{
int x = y;
y = d[j];
int z = j > 1 ? d[j - 1]:i;
int del = a[i - 1] == b[j - 1] ? 0:1;
d[j] = min(x + del, y + 1, z + 1);
}
}
return d[n];
}
int min(int a, int b, int c)
{
int min = a;
if ( b < min )
min = b;
if( c < min )
min = c;
return min;
}