こんにちは私は、私が現在取り組んでいるコードで問題を解決しようとしています。私は他の投稿を見てきましたが、関連するものは何も見つかりませんでした。 基本的に、私は必要なすべてのファイルを追加しました:ヘッダーとソースファイルが、まだエラーを取得します。多くのうちの1つは "'setValue': identifier not found
"です。何らかの理由で、私のヘッダーファイルの関数を認識しません。 とにかく、エラーに関連するコードの部分があります。C++で同じ古い識別子が見つかりません
ヘッダーDoubleVector.h:
#pragma once
#pragma warning(disable : 4251)
#ifndef DOUBLEVECTOR_H_
#define DOUBLEVECTOR_H_
#define _USE_MATH_DEFINES // need to use M_PI
#include <math.h>
#include "PMath.h"
// whole bunch of constructors and functions declarations, which I won't show
// this is one of the functions that's causing trouble
void SetValue(long index,double val);
出典DoubleVector.cxx:私は私の関数variogram.ccを呼び出しています
void CDoubleVector::SetValue(long index,double val)
{
if(index < 0 || index >= m_nSize)
{
//string message("Index out of range of vector.");
//throw PMathError(message);
throw PMathError("Error: index(%d) out of range. <- void SetValue(long index, double val) in DoubleVector.cxx",index); // tested
}
m_pData[index] = val;
}
ファイル私はその巨大なようにすべてのコードを表示することはできません:
#include "variogram.h"
#include "DoubleVector.h"
void Variogram::estimate() {
base_multimin_function_fdf fdf;
fdf.n = _spatialCorrFunc.param.size();
fdf.f = &minimizationf;
fdf.df = &minimizationfd;
fdf.fdf = &minimizationfdf;
fdf.params = this;
long iter = 0;
int status;
//gsl_vector *x = gsl_vector_alloc(fdf.n);
for (int i = 0; i < fdf.n; ++i) {
if(i < 3)
//gsl_vector_set(x, i, sqrt(_spatialCorrFunc.param[i]));
//Greg: void SetValue(long index, double val) as an alternative //to gsl_vector_set(...)
SetValue(i,sqrt(_spatialCorrFunc.param[i]));
else//kappa
SetValue(i, _spatialCorrFunc.param[i]);
}
この事は狂気私を運転しているが、私はそれは私が見ていないよという愚かなものだと確信しています。 ありがとうございます。
それを指摘していただきありがとうございますが、まだエラーが表示されます。 – GKED
私は、呼び出しが継承クラスのスコープから行われたと考えました。したがって、 'CDoubleVector'と' Variogram'との間には関係がありません。 – Mahesh