私はobjective-cで作業しています。私は浮動小数点の動的配列を割り当てていますが、サイズは別の配列のサイズによって異なります。だから、私の割り当ては次のようになります。動的Cスタイルの配列を初期化する方法
float myFloats[[myArray count]];
xcodeで解析ビルドを行う場合を除いて、すべてはうまく動作しています。配列の要素を使用すると、「右オペランドが不要な値です」というメッセージが表示されます
すべての要素を初期化してゼロに設定しようとしましたが、analyzeコンパイラは考慮しません。
これを正しく行う方法は誰も知っていますか?
NSRect actualSuperFrame = [self frame];
//Here I initialize the float array.
float clicksFromMiddle[[self.plannerViewArray count]];
NSRect actualPlannerFrame[[self.plannerViewArray count]];
PlannerView *plannerView;
for(int i = 0; i < [self.plannerViewArray count];i++){
plannerView = [self.plannerViewArray objectAtIndex:i];
actualPlannerFrame[i] = [plannerView frame];
//Below is where the values are set.
if (plannerView.isLeftPage) {
clicksFromMiddle[i] = (actualSuperFrame.origin.x + (actualSuperFrame.size.width/2.0))-NSMaxX(actualPlannerFrame[i]);
}
else{
clicksFromMiddle[i] = (actualPlannerFrame[i].origin.x-(actualSuperFrame.origin.x + (actualSuperFrame.size.width/2.0)));
}
}
[super setFrame:frameRect];
NSRect modifiedPlannerFrame[[self.plannerViewArray count]];
for(int i = 0; i < [self.plannerViewArray count];i++){
plannerView = [self.plannerViewArray objectAtIndex:i];
modifiedPlannerFrame[i] = [plannerView frame];
if(plannerView.isLeftPage){
//This next line is where I get the message, right operand of "-" is garbage value
float newMaxX = (frameRect.origin.x +(frameRect.size.width/2.0))-clicksFromMiddle[i];
float newWidth = newMaxX-modifiedPlannerFrame[i].origin.x;
[plannerView setFrame:NSMakeRect(modifiedPlannerFrame[i].origin.x, modifiedPlannerFrame[i].origin.y,newWidth , modifiedPlannerFrame[i].size.height)];
}