私はこの基本的な質問に答えるためにインターネットと私自身の知性を精査しました、しかし、私自身の失望の多くは私が解決策を見つけることができませんでした。私は通常、複数のヘッダーファイルについてはかなり得意ですが、壁にぶつかりました。問題は、ヘッダーで宣言し、ソースファイルの適切な名前空間で定義した関数です。私はBloodshedを使用してWindowsで開発しています。
/////////////////////////////////クラスMatrix4x3.h///////////// //////////////////
#ifndef _MATRIX4X3_H
#define _MATRIX4X3_H
class Matrix4x3{
public:
//set to identity
void identity();
};
#endif
/////////////////////////////////クラスMatrix4x3.cpp///////////// //////////////////
#include <assert.h>
#include <math.h>
#include "Matrix4x3.h"
.
.
.
void Matrix4x3::identity(){
//calculations here...
}
////////////// 主要 ////////////////
#include <cstdlib>
#include <iostream>
#include "../Matrix4x3.h"
using namespace std;
int main(int argc, char *argv[])
{
Matrix4x3 a;
a.identity();
cin.get();
return EXIT_SUCCESS;
}
Bloodshedを使用しており、構築されたオブジェクトを使用するとクラスメンバーとメソッドのリストが表示されますが、コンパイル時に上記のメソッドが参照されていないことがわかります。誰かが応答を持っているなら、私は非常に感謝するでしょう。