首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

Turbo C++3.0调试的有关问题

2012-03-23 
Turbo C++3.0调试的问题我用TurboC++3.0运行了一个书上的事例,不过稍微作了点修改,第一次没有错误,第二次

Turbo C++3.0调试的问题
我用Turbo   C++3.0运行了一个书上的事例,不过稍微作了点修改,第一次没有错误,第二次就出现错误提示和警告,如下,有错误和警告的地方用竹师的方式给出了,


#include <iostream.h>
#include <iomanip.h>

class   table   {
public:
table(int   p,int   q)
{
i   =   p;
j   =   q;
}
void   ascii();
protected:
int   i,j;
};
void   table::ascii()
{
int   n   =     1,k;
for(k   =   i,k   <=   j;k++)     //warning:code   has   no   effect       error:For   statement   missing   ;
{
cout   < <   setw(4)   < <   (char)k;
if(n   %   12   ==   0)
cout   < <   endl;
n++;
};
cout   < <   endl;
}//warning: 'n '   is   assignedavalue   that   is   never   used

class   der_table:public   table   {
public:
der_table(int   p,int   q,char   *m):table(p,q)
{   c   =   m;   }
void   display();
private:
char   *c;
};
void   der_table::display()
{
cout   < <   c   < <   endl;
table::ascii();
}
main()
{
der_table   ob( 'a ', 'z ', "Ascii   value----char ");
ob.display();
return   0;
}

[解决办法]
for(k = i,k <= j;k++) //warning:code has no effect error:For statement missing ;
{
cout < < setw(4) < < (char)k;
if(n % 12 == 0)
cout < < endl;
n++;
};//这里多个分号
[解决办法]
for(k = i,k <= j;k++)
改为:
for(k = i;k <= j;k++)
[解决办法]
还有,给楼主一个建议:
for(k = i,k <= j;k++) //warning:code has no effect error:For statement missing ;
{
cout < < setw(4) < < (char)k;
if(n % 12 == 0)
cout < < endl;
n++;
};//最好把这里的分号去掉
这个分号是“多余的”,但是不会造成错误,因为上述程序等价于:
for(k = i,k <= j;k++) //warning:code has no effect error:For statement missing ;
{
cout < < setw(4) < < (char)k;
if(n % 12 == 0)
cout < < endl;
n++;
}
;//一条空语句
这条空语句虽然合法(不会造成编译错误),但是没有丝毫的用途,去掉的好,养成好的变成习惯。

除此之外,还有一个建议,最好改用高级一点儿的编译环境,调试方便一些,功能也强大一些,如vs2005,个人意见,仅供参考。


[解决办法]
for(k = i,k <= j;k++)
==》
for(k = i;k <= j;k++) //分号,不是逗号

热点排行