Access vialotion

vladdeSV via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed Jun 22 06:24:47 PDT 2016


On Wednesday, 22 June 2016 at 12:47:31 UTC, TheDGuy wrote:
> On Wednesday, 22 June 2016 at 12:45:29 UTC, TheDGuy wrote:
>> I have an array of buttons:
>>
>> class Window : MainWindow{
>>     private Button[4] bArr;
>>     this(){
>>         Button btn_1 = new Button();
>>         Button btn_2 = new Button();
>>         Button btn_3 = new Button();
>>         Button btn_4 = new Button();
>>         Button[4] bArr = [btn_1,btn_2,btn_3,btn_4];
>>     }
>>     private void letButtonsFlash(){
>>         for(int i = 0; i < 4; i++){
>>             writeln(this.bArr[i].getName());
>>         }
>>     }
>> }
>>
>> i don't understand why i get an 'Access Violation' - Error in 
>> the 'for'-loop?
>
> Okay, i solved it, instead of:
> Button[4] bArr = [btn_1,btn_2,btn_3,btn_4];
>
> this:
> bArr = [btn_1,btn_2,btn_3,btn_4];

I would also suggest you use a foreach loop to iterate over the 
buttons:

private void letButtonsFlash()
{
     foreach(button; bArr)
     {
         writeln(button.getName());
     }
}

//Also, question to anyone: should a ref be used here?


More information about the Digitalmars-d-learn mailing list