私はグーグルテストとビジュアルスタジオ2005のC++でプログラムを書いています。プログラムは単に4つの算術演算を実行します...
当初、私はハードコードされた値でプログラムを作成しましたが、それは正常に機能しました。しかし今、私はユーザーに入力を与えてもらいたいので、プログラムで使用する必要がありcin
ますcout
。しかし、コードにステートメントを追加するcin
と、次のエラーが発生します。cout
error C2143: syntax error : missing ';' before '<<' and error C4430:
missing type specifier - int assumed. Note: C++ does not
support default-int for cout and
cinについても同じ
error C2143: syntax error : missing ';' before '>>' and error C4430:
missing type specifier - int assumed. Note: C++ does not
support default-int
私は3つの別々のファイルを持っています:1つはユニットテストファイル、もう1つはすべてのテストを書き込んだファイル、gtest
3つ目はgoogletestによって提供されたメインファイルをリンクしたファイルです。
以下は私のコードです:
#include <iostream>
#include "stdafx.h"
#include "gtest/gtest.h"
#include "unittestcomplex.h"
using namespace std;
float a,b;
cout << "Enter two numbers:";
cin >> a >> b;
Arithmatic num;
TEST(complex, Addition)
{
EXPECT_EQ(a+b,num.addition(a,b));
}
TEST(complex,subtraction)
{
EXPECT_EQ(a-b,num.subtraction(a,b));
}
TEST(complex,multiplication)
{
EXPECT_EQ(a*b,num.multiplication(a,b));
}
TEST(complex,division)
{
EXPECT_EQ(a/b,num.division(a,b));
}
これが私がすべての関数を書いたファイルです:
#include <iostream>
#include "stdafx.h"
# include <conio.h>
using namespace std;
class Arithmatic
{
public:
float addition(float a, float b);
float subtraction(float a, float b);
float multiplication(float a, float b);
float division(float a, float b);
};
float Arithmatic::addition(float a, float b)
{
float sum;
sum = a+b;
return sum;
}
float Arithmatic::subtraction(float a, float b)
{
float difference;
difference = a-b;
return difference;
}
float Arithmatic::multiplication(float a, float b)
{
float mult;
mult = a*b;
return mult;
}
float Arithmatic::division(float a, float b)
{
float div;
div = a/b;
return div;
}
そしてmain()はここにあります:
#include <iostream>
#include <conio.h>
#include "stdafx.h"
#include "gtest/gtest.h"
using namespace std;
int main(int argc, char** argv)
{
testing::InitGoogleTest(&argc, argv);
RUN_ALL_TESTS();
std::getchar(); // keep console window open until Return keystroke
}
main()では何も変更していません。によって提供されたとおりgtest
です。これらのエラーを削除して、プログラムをインタラクティブにする方法を教えてください。