I'm a doctor, not a mechanic


From Unreal Wiki, The Unreal Engine Documentation Site
Revision as of 11:28, 20 November 2015 by Wormbo (Talk | contribs) (ah yes, the UScript compiler...)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Constants with same name in different functions (UE1)

The UE1 compiler UCC.EXE does not support constants with the same name in different functions.


class test expands Object;

function Nothing1() {
const CDebug = true;

function Nothing2() {
const CDebug = true;

On compiling this, a GPF occurs:

Parsing Test General protection fault!

History: FScriptCompiler::CompileConst <- Const <- FScriptCompiler::CompileDeclaration <- FScriptCompiler::CompileStatement <- FirstPass <- TryCompile <- FScriptCompiler::CompileScript <- (Class BarbiesWorld.Test, Pass 0, Line 9) <- MakeScript <- MakeScript <- DoScripts <- UEditorEngine::MakeScripts <- UMakeCommandlet::Main

Exiting due to error

--SeriousBarbie (talk) 23:33, 18 November 2015 (EST)

That's because it doesn't really apply the scpoing concept to constants. They are always global to the class. —Wormbo 00:11, 19 November 2015 (EST)
I did not find any scope description in the article - therefore I found it worth to mention here. (BTW: UScript is the first language I saw where the scope of local definitions extends that area.) --SeriousBarbie (talk) 00:29, 19 November 2015 (EST)
Well, the UnrealScript compiler is really basic compared to other languages - and it's written in really messy code. All these weird things are essentially compiler bugs. —Wormbo 10:28, 20 November 2015 (EST)