Quantcast
Channel: Answers by "rabbitfang"
Viewing all articles
Browse latest Browse all 59

Answer by rabbitfang

$
0
0
If I had to guess, I would say that `parent` is conflicting with some variable of the `System.ValueType` class. Try renaming it. If extending `System.ValueType` does in fact make things a `struct` (I have had issues making structs in UnityScript so that might be how you do it), the issue might lie with the infinite recursion of instance generation. You see, structs are essentially variables that are passed by value (like ints and floats). That is, the value of the variable is copied whenever it is passed into a function or referenced from the outside. Structs act the same way. Whenever the variable is needed outside of the current scope, a copy is made. This can be done efficiently because the number of bytes that the struct needs to exist is calculated at compile time (objects located inside of structs are stored as references, so when the struct is copied, the reference is copied instead of the object). So, when you include a variable of the encapulating struct inside of that struct, an infinite loop is created. It would be best to leave the `TNode` class as a normal object class instead of a struct unless you need lots of short lived instances (in which case you may need to rethink how you are doing this as I do not know if C# will allow a struct to be stored explicitly as a reference). *The actual way that structs work is a little more complicated than this, and I most of my knowledge about them comes from C++, but from what I know, the implementation is fairly similar)*

Viewing all articles
Browse latest Browse all 59

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>