Ary Borenszweig wrote:
Lars T. Kyllingstad escribió:
robby wrote:
i'm using D1/Tango. sorry, im not sure to how to explain the error messages, but if you need to look a t full code, here is the link
http://www.ibsensoftware.com/download.html

thanks again.


Several places in that code, I notice things like this:

    const type foo;
    ...
    foo = bar;

I have no idea why this works in C, but in D it certainly doesn't.

Well, it should work! const means, once a value is assigned to that variable, it never changes again. The compiler can do static analysis to verify this. And that's why it works. And that's why D should also work this way, IMHO.


I suppose it's linked to D's automatic initialization of variables. If I understand it correctly, just typing

  const int foo;

is the same as

  const int foo = 0;

With your suggestion, const variables could not be automatically initialized. In that case:

  int* foo;        // foo is null
  const int* bar;  // bar could point anywhere!


-Lars

Reply via email to