Author Topic: Strange error with DIMs and TYPES  (Read 2138 times)

Offline ampos

  • Prof. Inline
  • *****
  • Posts: 1600
    • View Profile
    • AMpostata Website
Strange error with DIMs and TYPES
« on: 2010-Sep-24 »
I have this:

Code: (glbasic) [Select]
TYPE casillas;x;y;tipo;explo;ENDTYPE
GLOBAL lad#[] AS casillas
DIM lad#[12][9] //matriz de los ladrillos
I f I write

Code: (glbasic) [Select]
If lad[x][y].tipo=4 then blahblah
all is fine. BUT if I forgot the .tipo...

Code: (glbasic) [Select]
If lad[x][y]=4 then blahblah
I got a HUGE and strange error:

Code: (glbasic) [Select]
compiling:
C:\Users\AMpos\AppData\Local\Temp\glbasic\gpc_temp0.cpp: In function `DGInt __GLBASIC__::pintaladrillos()':
C:\Users\AMpos\AppData\Local\Temp\glbasic\gpc_temp0.cpp:533: error: no match for 'operator==' in '(&__GLBASIC__::lad)->__GLBASIC__::DGArray<T>::operator() [with T = __GLBASIC__::casillas](#`fix_trunc_expr' not supported by dump_expr#<expression error>, #`fix_trunc_expr' not supported by dump_expr#<expression error>) == 0'
C:\Users\AMpos\AppData\Local\Temp\glbasic\gpc_temp.h:172: note: candidates are: bool __GLBASIC__::casillas::operator==(const __GLBASIC__::casillas&) const
D:/Programas/GLBasic/Compiler/platform/Include/glb.h:304: note:                 bool __GLBASIC__::operator==(int, __GLBASIC__::CGStr)
D:/Programas/GLBasic/Compiler/platform/Include/glb.h:304: note:                 bool __GLBASIC__::operator==(int, const __GLBASIC__::DGStr&)
D:/Programas/GLBasic/Compiler/platform/Include/glb.h:304: note:                 bool __GLBASIC__::operator==(float, __GLBASIC__::CGStr)
D:/Programas/GLBasic/Compiler/platform/Include/glb.h:304: note:                 bool __GLBASIC__::operator==(float, const __GLBASIC__::DGStr&)
D:/Programas/GLBasic/Compiler/platform/Include/glb.h:304: note:                 bool __GLBASIC__::operator==(double, __GLBASIC__::CGStr)
D:/Programas/GLBasic/Compiler/platform/Include/glb.h:304: note:                 bool __GLBASIC__::operator==(double, const __GLBASIC__::DGStr&)
D:/Programas/GLBasic/Compiler/platform/Include/glb.h:304: note:                 bool __GLBASIC__::operator==(__GLBASIC__::CGStr, __GLBASIC__::CGStr)
D:/Programas/GLBasic/Compiler/platform/Include/glb.h:304: note:                 bool __GLBASIC__::operator==(__GLBASIC__::CGStr, const __GLBASIC__::DGStr&)
D:/Programas/GLBasic/Compiler/platform/Include/glb.h:304: note:                 bool __GLBASIC__::operator==(__GLBASIC__::CGStr, int)
D:/Programas/GLBasic/Compiler/platform/Include/glb.h:304: note:                 bool __GLBASIC__::operator==(__GLBASIC__::CGStr, float)
D:/Programas/GLBasic/Compiler/platform/Include/glb.h:304: note:                 bool __GLBASIC__::operator==(__GLBASIC__::CGStr, double)
D:/Programas/GLBasic/Compiler/platform/Include/glb.h:304: note:                 bool __GLBASIC__::operator==(const __GLBASIC__::DGStr&, __GLBASIC__::CGStr)
D:/Programas/GLBasic/Compiler/platform/Include/glb.h:304: note:                 bool __GLBASIC__::operator==(const __GLBASIC__::DGStr&, const __GLBASIC__::DGStr&)
D:/Programas/GLBasic/Compiler/platform/Include/glb.h:304: note:                 bool __GLBASIC__::operator==(const __GLBASIC__::DGStr&, int)
D:/Programas/GLBasic/Compiler/platform/Include/glb.h:304: note:                 bool __GLBASIC__::operator==(const __GLBASIC__::DGStr&, float)
D:/Programas/GLBasic/Compiler/platform/Include/glb.h:304: note:                 bool __GLBASIC__::operator==(const __GLBASIC__::DGStr&, double)
D:/Programas/GLBasic/Compiler/platform/Include/glb.h:311: note:                 bool __GLBASIC__::operator==(const __GLBASIC__::DGStr&, const char*)
D:/Programas/GLBasic/Compiler/platform/Include/glb.h:312: note:                 bool __GLBASIC__::operator==(const char*, const __GLBASIC__::DGStr&)
*** FATAL ERROR - Please post this output in the forum

(not checked if same error in normal types instead of DIM types)

Wouldnt it be better a single "syntax error on line..."?

 :S
check my web and/or my blog :D
http://diniplay.blogspot.com (devblog)
http://www.ampostata.org
http://ampostata.blogspot.com
I own PC-Win, MacBook 13", iPhone 3G/3GS/4G and iPAC-WinCE

MrTAToad

  • Guest
Re: Strange error with DIMs and TYPES
« Reply #1 on: 2010-Sep-24 »
yes, would be nice :)

Offline Scott_AW

  • Mr. Polyvector
  • ***
  • Posts: 214
    • View Profile
    • SAW Game Design
Re: Strange error with DIMs and TYPES
« Reply #2 on: 2010-Sep-24 »
I get those when I break out of array boundaries, but I don't think you can reference a type dim by itself.  I don't know why you would need to.

I'm guessing when you do that it throws it out of range as well.
Current Project, Orbital Contract Defense
http://gamejolt.com/games/adventure/code-name-ocd/9887/

BlackShadow now open source/resource(requires duke3d)
http://gamejolt.com/games/adventure/black-shadow-3d/9885/

Offline hardyx

  • Community Developer
  • Prof. Inline
  • ******
  • Posts: 504
    • View Profile
Re: Strange error with DIMs and TYPES
« Reply #3 on: 2010-Sep-24 »
I think you are using two types defining the array. The type # (double) and the type casillas. Maybe the compiler not knows the type to apply in this case. If you want the fields of casillas be double, put # in this, but not in the DIM.

Offline ampos

  • Prof. Inline
  • *****
  • Posts: 1600
    • View Profile
    • AMpostata Website
Re: Strange error with DIMs and TYPES
« Reply #4 on: 2010-Sep-24 »
I think you are using two types defining the array. The type # (double) and the type casillas. Maybe the compiler not knows the type to apply in this case. If you want the fields of casillas be double, put # in this, but not in the DIM.

Nah, it just an error when you forgot to type the "type extension" on a var. At least if the missing extension is in an array.
check my web and/or my blog :D
http://diniplay.blogspot.com (devblog)
http://www.ampostata.org
http://ampostata.blogspot.com
I own PC-Win, MacBook 13", iPhone 3G/3GS/4G and iPAC-WinCE