아래 코드를 사용하여 부동 배열의 값을 설정합니다.
#include "math.h"
#include "string.h"
#include <stdio.h>
#include <stdlib.h>
class MathCore
{
public:
MathCore();
virtual ~MathCore( );
bool dosomething ( );
};
과
#include "MathCore.h"
MathCore::MathCore()
{
}
MathCore::~ MathCore()
{
}
bool MathCore::doSomething ( )
{
//-------------------------------------------------
float *xArray;
xArray=(float*)malloc(sizeof(float)*5);
float v=0.1;
xArray[0]=v;
return 1;
}
항상 EXC_BAD_ACCESS 오류를보고합니다.
xArray[0]=v;
귀하의 의견을 환영합니다
첫 번째 요소가 다음과 같이 설정된 크기 5 부동 배열과 같은 객체를 원한다고 가정합니다 0.1
.
std::vector<float> xArray(5); // contains 5 floats, each set to 0.0f
xArray[0] = 0.1;
동적으로 할당 된 배열에 대한 원시 포인터를 정말로 사용해야한다면,
float* xArray = new float[5]; // uninitialized elements.
float* xArray = new float[5](); // elements initialized to 0.0f.
xArray[0] = 0.1;
원시 포인터에 대한 더 나은 대안은 다음과 같습니다.
std::unique_ptr<float[]> xArray(new float[5]);
xArray[0] = 0.1;
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다