QB64 Phoenix Edition
Goals(1) = New Tile() - Printable Version

+- QB64 Phoenix Edition (https://staging.qb64phoenix.com)
+-- Forum: QB64 Rising (https://staging.qb64phoenix.com/forumdisplay.php?fid=1)
+--- Forum: Code and Stuff (https://staging.qb64phoenix.com/forumdisplay.php?fid=3)
+---- Forum: Works in Progress (https://staging.qb64phoenix.com/forumdisplay.php?fid=9)
+---- Thread: Goals(1) = New Tile() (/showthread.php?tid=1952)



Goals(1) = New Tile() - gaslouk - 08-31-2023

Code: (Select All)
    ReDim Goals(6)
    Goals(1) = New Tile()
    Goals(1).Symbol = "o"
Expected operator in equation

Help.

thank you.


RE: Goals(1) = New Tile() - TerryRitchie - 08-31-2023

(08-31-2023, 05:42 PM)gaslouk Wrote:
Code: (Select All)
    ReDim Goals(6)
    Goals(1) = New Tile()
    Goals(1).Symbol = "o"
Expected operator in equation

Help.

thank you.
What is "New Tile()"? If that's meant to be a function or UDT the space is not allowed.


RE: Goals(1) = New Tile() - mnrvovrfc - 08-31-2023

(08-31-2023, 05:42 PM)gaslouk Wrote:
Code: (Select All)
    Goals(1) = New Tile()

QB64 doesn't have "new" operator, it doesn't support object-oriented programming. Yet.


RE: Goals(1) = New Tile() - RhoSigma - 08-31-2023

(08-31-2023, 05:42 PM)gaslouk Wrote:
Code: (Select All)
    ReDim Goals(6)
    Goals(1) = New Tile()
    Goals(1).Symbol = "o"
Expected operator in equation

Help.

thank you.

As mentioned "new" is an operator for object oriented programming languages such as C++, PHP, Javascript etc. which is not possible in QB64(PE), however REDIM can do the job, but "Tile" have to be a user defined TYPE instead of a function.

Code: (Select All)
Type Tile
    Symbol As String * 1 'use higher numbers if you need more chars
End Type
ReDim Goals(6) As Tile

Goals(1).Symbol = "o"
Goals(2).Symbol = "x"
Goals(3).Symbol = "*"

etc.