我試圖創建一個從C++教程的程序。但是導師使用的IDE是VS2010,而我正在使用VS2017。我注意到一些語法(sp。)略有不同。我不確定這個錯誤是什麼,我試過搜索。獲取方法是不明確的C++
這裏的主要的.cpp:
#include "stdafx.h"
#include <iostream>
#include "Utility.h"
using namespace std;
int main()
{
int x;
cout << "Enter a Number: " << endl;
cin >> x;
if (IsPrime(x))
cout << x << " is prime" << endl;
else
cout << x << " is not prime" << endl;
if (Is2MorePrime(x))
cout << x << "+2 is prime" << endl;
else
cout << x << "+2 is not prime" << endl;
return 0;
}
在如果條件被測試出的方法都返回一個「包括方法:標識符未找到」和「包括方法:標識符未定義「
下面是包括類的.cpp:
#include "stdafx.h"
#include "Utility.h"
#include <iostream>
using namespace std;
bool Utility::IsPrime(int num)
{
bool prime = true;
for (int i = 0; i <= num/i; i++)
{
int factor = num/i;
if (factor*i == num)
{
cout << "Factor Found: " << factor << endl;
prime = false;
break;
}
}
return prime;
}
bool Utility::Is2MorePrime(int num)
{
num += 2;
return IsPrime(num);
}
這裏是包含的頭文件:
#pragma once
class Utility
{
bool IsPrime(int primeNum);
bool Is2MorePrime(int morePrime);
};
我還是新來的C++編程,所以我什麼都不知道密集。
因爲'main'調用'IsPrime'你得到一個錯誤,但沒有這樣的功能 - 只有'實用:: IsPrime'。你正在創建一個「Utility」類,你不需要它。 「IsPrime」和「Is2MorePrime」應該只是頭文件中定義的函數,並在.cpp中實現。 – jwimberley
您正在使用一個類作爲名稱空間。 – tadman