私はJavaとCの新バージョンです。私の本は私的な関数については言及しておらず、Googleの検索はそれほど大きくはなりません。これは私にとっては些細なはずですが、私はそれを働かせることはできません。C++のプライベート関数 - このスコープ内のエラーではありません
私はこのコードを持っている:
#ifndef RUNDATABASE_H
#define RUNDATABASE_H
#include <iostream>
#include <string>
class RunDatabase
{
public:
int main();
protected:
private:
bool checkIfProperID(std::string);
};
#endif // RUNDATABASE_H
、別のファイルに:
#include "RunDatabase.h"
int main()
{
std::string id; // after this, I initialize id
if(!checkIfProperID(id))
{
std::cout << "Improperly formatted student ID, must be numeric" << std::endl;
break;
}
}
bool RunDatabase::checkIfProperID(std::string id)
{
return true;
}
私はこのエラーを取得する:error: 'checkIfProperID' was not declared in this scope
のWindows 7 64ビット上のMinGWグラム++ 4.4.1を使用します。
ありがとうございました。
Javaから来た場合はこれを知ってはいけませんか?ごめんなさい。とにかく、答えはかなり明確になります。 – Marlon
@MarlonメインはcheckIfProperIdと同じクラスなので、なぜ他の関数がスコープに含まれていないのかわかりません。 Javaからmainから同じことをすることはできますが、メソッドは静的でなければならないか、同じクラスの新しいオブジェクトをインスタンス化する必要があります。 – jn1kk
あなたの本が私的な機能について言及していないなら、あなたは本当にそれを落とし[その名前にふさわしい本を得る]べきです(http://stackoverflow.com/q/388242/46642)。 –