各位大大:
我在bcb環境裡產生file->new->consoleWizard 用來寫c++程式 其中有宣告三維矩陣,以下是我的程式碼:
#pragma hdrstop //---------------------------------------------------------------------------
//arr_sco.cpp
#include
#include
#include <math.h>
const size=3,sizem=3+2,sizen=3+2; //BLOCK 長度
int coef[3]={1,2,3};
int XBUF[6][6]={0};
double tol[10000][3+2][5+2]={0}; //橫向微分
double aol[10000][5+2][3+2]={0}; //縱向微分
int xgra[4][5][3]={0}; //橫向維度減掉zero pading
int ygrad[4][3][5]={0}; // 縱向維度減掉zero pading
int ygrad_d[4][3][3]={0};
int xgra_d[4][3][3]={0},sign[5][5]={0}; //
int summation=0,suu=0;
int temp1=0,temp2=0,rx[5]={0} ,ry[5]={0},x=0,y=0;
int a,b,c,d,p,la_da1,la_da2,comp; // int RT[2][3][9]={0};
//int tol[9];
int sum[6][6]={{4 ,3, 2, 1,3,8},{7 ,6, 1, 1,2,4},{2 ,3, 7, 3,6,2},{1 ,3, 2, 1,7,1},{5 ,9, 4, 2,6,3},{5 ,9, 4, 2,6,3} }; void main()
{
for (int j=0;j<6; j++)
{
for (int i=0;i<6; i++)
{
XBUF[j][i]=sum[j][i];
//cout<<"XBUF["< 以上是可以編譯過,但如果我在bcb裡另外用file->new->application產生一個frame,然後用buttion來使以下程式動作.但卻會產生下列的訊息
void __fastcall TForm1::convolution1Click(TObject *Sender)
{
const size=3,sizem=3+2,sizen=3+2; //BLOCK 長度
int coef[3]={1,2,3};
int XBUF[6][6]={0};
double tol[10000][3+2][5+2]={0}; //橫向微分
double aol[10000][5+2][3+2]={0}; //縱向微分
int xgra[4][5][3]={0}; //橫向維度減掉zero pading
int ygrad[4][3][5]={0}; // 縱向維度減掉zero pading
int ygrad_d[4][3][3]={0};
int xgra_d[4][3][3]={0},sign[5][5]={0}; //
int summation=0,suu=0;
int temp1=0,temp2=0,rx[5]={0} ,ry[5]={0},x=0,y=0;
int a,b,c,d,p,la_da1,la_da2,comp; // int RT[2][3][9]={0};
//int tol[9];
int sum[6][6]={{4 ,3, 2, 1,3,8},{7 ,6, 1, 1,2,4},{2 ,3, 7, 3,6,2},{1 ,3, 2, 1,7,1},{5 ,9, 4, 2,6,3},{5 ,9, 4, 2,6,3} }; void main()
{
for (int j=0;j<6; j++)
{
for (int i=0;i<6; i++)
{
XBUF[j][i]=sum[j][i];
//cout<<"XBUF["<
但如果把 tol與aol的改成tol[15][7][9],aol[15][9][7]就可以編譯成功請問這是什麼原因 發表人 - myli1017 於 2005/11/07 12:41:21