namespace problem(s)

Started by
1 comment, last by WitchLord 11 years, 2 months ago

So first thing is: cannot use array<> inside namespace; using [] works just fine


namespace nsTest
{
    array<int> arrgh;
};

Result: "Identifier 'array' is not a data type"

Second thing found when trying to put one of our modules inside namespace; either it's me failing in reading docs smile.png, or AS in implementing them. Anyway, code is something like this:


// file1
namespace nsTestTwo {
    shared interface nsIface
    {
        nsIface@ parent { get; }
    }
}

// file2
namespace nsTestTwo {
    class nsClass : nsIface
    {
        nsIface@ mommy;
        
        nsClass( nsIface@ parent )
        {
            @this.mommy = parent;
        }
        
        nsIface@ get_parent()
        {
            return( @this.mommy );
        }
    }
}

Fails to compile as well, "Identifier 'nsIface' is not a data type", same thing when i add any func returning nsIface@ to namespace above. If i get rid of namespace only, leaving everything in global scope, everything starts to work. Checked with r1558.

EDIT:

Small correction: "file1" is supposed to be used as a header file for other modules.

Games are meant to be created, not played...

Advertisement

The first one is a current limitation of the namespace feature, in that the compiler doesn't search parent namespaces for matching symbols. I'll be implementing that search soon, until then prepending the symbol with :: tells the compiler to look for the array symbol in the global namespace.

The second problem appear to be a bug. I'll look into this.

AngelCode.com - game development and more - Reference DB - game developer references
AngelScript - free scripting library - BMFont - free bitmap font generator - Tower - free puzzle game

I've fixed this bug in revision 1562. Thanks.

AngelCode.com - game development and more - Reference DB - game developer references
AngelScript - free scripting library - BMFont - free bitmap font generator - Tower - free puzzle game

This topic is closed to new replies.

Advertisement