[解決済み] error: 'int'の前にunqualified-idがあるはずです。
2022-02-19 14:48:45
質問
コードをコンパイルしようとすると、次のようなエラーが発生します。同じエラーが発生した人たちの他の質問を読みましたが、どの回答も私には関係ありません。
user.cpp:15:7: error: expected unqualified-id before ‘int’
User(int user_id, string user_name, int user_year, int user_zip)
^
user.cpp:15:7: error: expected ‘)’ before ‘int’
何かお手伝いいただけると幸いです。
user.cpp:
#include "user.h"
using namespace std;
User(int user_id, string user_name, int user_year, int user_zip)
{
id = user_id;
name = user_name;
year = user_year;
zip = user_zip;
friends = {};
}
~User()
{
}
void User::add_friend(int id)
{
friends.push_back(id);
}
void User::delete_friend(int id)
{
for (int i = 0; i < friends.size();++i)
{
if (friends[i] == id)
{
friends.erase(vec.begin() + i);
}
}
}
int User::getID()
{
return id;
}
string User::getName()
{
return name;
}
int User::getYear()
{
return year;
}
int User::getZip()
{
return zip;
}
vector<int>* User::getFriends()
{
return &friends;
}
user.h:
#ifndef USER_H
#define USER_H
#include <string>
#include <vector>
class User {
public:
User(int user_id, std::string user_name, int user_year, int user_zip);
~User();
void add_friend(int id);
void delete_friend(int id);
int getID();
std::string getName();
int getYear();
int getZip();
std::vector<int>* getFriends();
private:
int id;
std::string name;
int year;
int zip;
std::vector<int> friends;
};
#endif
解決方法は?
この行です。
User(int user_id, string user_name, int user_year, int user_zip)
のコンストラクタの定義ではありません。
User
のインスタンス化であり
User
オブジェクトを生成するため、コンストラクタに渡される引数のリストが必要となります。
int
は、渡すことができる有効な識別子ではありません。
コンストラクタの正しい定義方法です。
User::User(int user_id, string user_name, int user_year, int user_zip)
同様に、デストラクタについても
User::~User()
関連
-
[解決済み] 解決済み] `pthread_create' への未定義の参照 [重複] [重複
-
[解決済み] intをenumにキャストするにはどうすればよいですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] C#でenumからint値を取得する
-
[解決済み] C++でintをstringに変換する最も簡単な方法
-
[解決済み] const int*、const int * const、int const *の違いは何ですか?
-
[解決済み] std::stringをintに変換するにはどうしたらいいですか?
-
[解決済み] intからstringに変換しますか?
-
[解決済み】リスト内のすべての文字列をint型に変換する
-
[解決済み】StringをIntに変換する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】C++でint型に無限大を設定する
-
[解決済み] クラスにデフォルトコンストラクタが存在しない。
-
[解決済み] 既に.objで定義されている-二重包含はない
-
[解決済み】「Expected '(' for function-style cast or type construction」エラーの意味とは?
-
[解決済み】オブジェクト引数のない非静的メンバ関数の呼び出し コンパイラーエラー
-
[解決済み】システムが指定されたファイルを見つけられませんでした。
-
[解決済み】1つ以上の多重定義されたシンボルが見つかる
-
[解決済み】Enterキーを押して続行する
-
[解決済み】変数やフィールドがvoid宣言されている
-
[解決済み] 変数サイズのオブジェクトが初期化されないことがある c++