別の cpp ファイルで (関数のリストを含む) cpp ファイルから関数を呼び出そうとしています。ヘッダー ファイルを使用して、両方の cpp ファイルで関数プロトタイプを設定しています。私の問題は、これを取得していることです。 LNK2019 エラー。何が間違っているのかわかりません。私はいくつかのバリエーションを行ったり来たりしてきましたが、現在のものは、私が読んだものに基づいて最も正しいようです. 私はこれに何時間も取り組んでいて、たくさんのスレッドを読んでいますが、この問題を説明するものは何もないようです。私はMicrosoft Visual Studio 2012を使用しています
これはヘッダー ファイル Rectangle.h です。
#pragma once
class Rectangle
{
private:
int width, height;
double gravWidth, gravHeight;
public:
Rectangle();
double getAreaBig();
double getAreaSmall();
int getPerimeter();
void getLength(int b);
void getWidth(int a);
int setLength();
int setWidth();
~Rectangle();
};
これは、関数を含む cpp ファイル、Rectangle.cpp です。
#include <iostream>
#include "Rectangle.h"
using namespace std;
Rectangle::Rectangle()
{
width = 1;
height = 1;
gravWidth = .5;
gravHeight = .5;
}
double Rectangle::getAreaBig ()
{
return double ((width * height) - (gravWidth * gravHeight));
}
double Rectangle::getAreaSmall()
{
return ((gravWidth) * ( gravHeight));
}
int Rectangle::getPerimeter()
{
return (2 * (width + height));
}
void Rectangle::getLength(int b)
{
height = b;
gravWidth = (1/2 * width);
}
void Rectangle::getWidth(int a)
{
width = a;
gravHeight = (1/2 * height);
}
int Rectangle::setLength()
{
return height;
}
int Rectangle::setWidth()
{
return width;
}
以下はapp.cppファイルです。これはエラーが発生している場所です。イタリック体はエラーが指しているように見える場所です
#include <iostream>
#include "Rectangle.h"
#include <fstream>
#include <iomanip>
#include <cstdlib>
#include <cmath>
#include <string>
#include <sstream>
#include <cstddef>
using namespace std;
int main ()
{
int const WIDTH = 10;
setprecision(2);
int length = 0;
int width = 0;
cin >> width;
cin >> length;
Rectangle garden;
Rectangle gravel;
garden.getLength(length);
garden.getWidth(width);
cout << "Length of lawn: " << garden.setLength() << "Width of lawn: " << garden.setWidth();
cout << "Cost of grass: " << garden.getAreaBig();
cout << "Length of gravel: ";
cout << "Width of gravel: ";
cout << "Cost of gavel: ";
system ("pause");
}