線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:4906
推到 Plurk!
推到 Facebook!

Run-Time Check Failure #3 - The variable 'i' is being used without being defined

 
iolcst
一般會員


發表:2
回覆:2
積分:0
註冊:2006-11-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2006-11-10 01:45:51 IP:218.162.xxx.xxx 未訂閱
#include "stdafx.h"
#include
#include
#include <math.h><br /> using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
fstream pFileOpen;
fstream pFileSave;
int nWidth;
int nHeight;
unsigned char* pBuf;
char** tBuf;

unsigned char TMPBUF[1088];
//Open/Creat BMP File.
pFileOpen.open("c:\\test.bmp", ios::in|ios::binary);
pFileSave.open("c:\\save.bmp", ios::out|ios::binary);

//Read BMP File Head
pFileOpen.read((char *)TMPBUF,1088);
pFileSave.write((char *)TMPBUF,1088);

//Get BMP Height & Width
nWidth=(unsigned short)TMPBUF[19]*256 TMPBUF[18];
nHeight=(unsigned short)TMPBUF[23]*256 TMPBUF[22];
//Creat a trasform buf
tBuf = new char* [nHeight];
for (int i=0; i tBuf[i]= new char [nWidth];

//Create read buffer.
pBuf=new unsigned char[nWidth*nHeight*3];
memset(pBuf,0,nWidth*nHeight*3);

//Jump to image data start.
pFileOpen.seekg(1076,ios::beg);
pFileSave.seekp(1076,ios::beg);

//Read image to buffer from file.
pFileOpen.read((char *)pBuf,(nWidth*nHeight*3));

int i,j,k;
for (j=0 ; j {
for (k=0 ; k {
tBuf[j][k]=pBuf[i];
i ;
};
};
for (j=0 ; j {
for (k=0 ; k {
printf("%d*%d=%d ",j,k,tBuf[j][k]);
};
printf("\n");
};

pFileSave.write((char *)pBuf,(nWidth*nHeight*3));
pFileOpen.close();
pFileSave.close();
delete [] pBuf;
return 0;}

怎麼會出現錯誤訊息
"Run-Time Check Failure #3 - The variable 'i' is being used without being defined."???
小弟不才拜託各位大大幫幫我
怪怪....2個FOR迴圈打完他排版自動幫我沏掉...

psl
一般會員


發表:6
回覆:30
積分:7
註冊:2003-06-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2006-11-19 17:19:44 IP:218.172.xxx.xxx 未訂閱

我剪貼了你部分的原始碼 ^_^!
-----------------------------------------------------------
....
//Read image to buffer from file.
pFileOpen.read((char *)pBuf,(nWidth*nHeight*3));

int i,j,k; <--------------------問題應該是這和下面那裡
for (j=0 ; j
{
for (k=0 ; k
{
tBuf[j][k]=pBuf[i]; <------- 這裡....用到 i ......但是i的初始值是???
i ;
};
};

......
---------------------------
你注意到了嗎
雖然有宣告了 i
但是 i 的初始值是什麼 ?
未定意吧.....
你的 j k 在回圈裡有寫從零開始 所以沒問題
但是 i 就沒有....所以編譯器給你警告說未定義
加個 i=0; 在回圈之前就可以了 如果0是你的預定初始值的話 ^____^

變數初始化是好習慣喔
可以避免很多不必要的問題和錯誤的運算結果
因為沒有初始值很多時候還是可以算...但是出來卻不是想要的答案
系統時間:2024-11-22 19:40:42
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!