これでかなり徹底的に検索しましたが、答えが見つからないようです。C++:宣言されていない識別子
私は自然にベクトルを持つ「バンク」クラスを持っています。ここでの問題の一部との機能の一つである:
int bank::open(op *o, int id)
{
account *acc = new account();
if (search(o->account))
return ACCOUNT_EXISTS;
accounts.push_back(acc->open(o, id));
}
と私は「構文エラー:識別子 『アカウント』と」取得 『ACC』:宣言されていない識別子エラー。
この.cppファイルは#include "account.h"
を持っている(銀行の個人口座である)#include "bank_account.h"
を持っており、循環参照のための方法は絶対にありません #include "bank.h"
を持っています。
私がaccount::
と入力すると、スコープが表示され、右クリックして宣言を検索すると(VS 2008)それが見つかります。
accounts.push_back(acc->open(o, id));
あなたはacc->open()
を呼び出している、とacc
はである:ここ
はaccount.h
クラス宣言は、任意のヘルプ
class account
{
public:
account(void) {}
~account(void) {}
int number;
int password;
int bal;
//void openAccount(op *o, int id);
void deposit(int amount, int id);
int withdraw(int amount, int id);
void balance(int id);
void close(int id);
int comission(float percentage);
void log(int msg, int id, int amount=0);
};
おかげで...
メジャーエラーではありませんが、アカウントが存在する場合はACCOUNT_EXISTSを返します。そうでなければ、何も返さない!しかし、あなたはintを返すように契約されています。 – abelenky
迅速な返信をありがとう!元の質問をアカウントクラスで編集しました。問題のある行は、コードの最初の部分に "acc"が付いた行です。 – Mosho
'account'という名前は型とメンバの両方のオブジェクトですか? –