digitalmars.D.learn - arrays
[code]
this() {
char[][] data ;
char[] dataNumber = "1";
char[] date = "10/12/08" ;
char[] m_details = "test";
char[] m_code = "340" ;
char[] m_debit = "3480.00";
char[] m_credit;
data[0]= dataNumber;
data[1]= date ;
data[2]= m_details;
data[3][ m_code;
data[4]= m_debit;
data[5][ m_credit;
[/code]
Compiles OK but gives error
[code]
"tango.core.Exception.ArrayBoundsException transaction(56): Array index out of
bounds"[/code]
Jan 28 2008
Reply to tytower,[code] this() { char[][] data ; char[] dataNumber = "1"; char[] date = "10/12/08" ; char[] m_details = "test"; char[] m_code = "340" ; char[] m_debit = "3480.00"; char[] m_credit;data.length = 6;data[0]= dataNumber; data[1]= date ; data[2]= m_details; data[3][ m_code; data[4]= m_debit; data[5][ m_credit; [/code] Compiles OK but gives error [code] "tango.core.Exception.ArrayBoundsException transaction(56): Array index out of bounds"[/code]untill you say otherwise a dynamic array has size zero.
Jan 28 2008
tytower wrote:
[code]
this() {
char[][] data ;
char[] dataNumber = "1";
char[] date = "10/12/08" ;
char[] m_details = "test";
char[] m_code = "340" ;
char[] m_debit = "3480.00";
char[] m_credit;
data[0]= dataNumber;
data[1]= date ;
data[2]= m_details;
data[3][ m_code;
data[4]= m_debit;
data[5][ m_credit;
[/code]
Compiles OK but gives error
[code]
"tango.core.Exception.ArrayBoundsException transaction(56): Array index out of
bounds"[/code]
'char[][] data;' doesn't allocate anything but an array reference. So
it's just an empty array to begin with. If you print its length, you'll
see that it's '0'.
Use the append operator instead:
data ~= dataNumber;
data ~= data;
etc.
Jan 28 2008









BCS <ao pathlink.com> 