[解決済み】不明なオーバーライド指定子、型指定子の欠落
2022-02-05 20:02:33
質問
最初に
Parameter.h
:
#pragma once
#include <string>
class Parameter {
public:
Parameter();
~Parameter();
private:
string constValue;
string varName;
};
そして
Parameter.cpp
:
#include "Parameter.h"
using namespace std;
Parameter::Parameter() {};
Parameter::~Parameter() {};
この2つのファイルを必要最低限まで落とし込むと、エラーが出るようなんです。の2つのプライベート宣言のところで
string
の場合、2つのエラーが発生します。
'constValue': unknown override specifier
missing type specifier - int assumed. Note: C++ does not support default-int
このようなエラーのある質問をいくつか見かけましたが、いずれも循環参照や欠落参照に言及しています。私は、絶対に必要なものだけに絞り込んでいるので、循環参照や欠落している参照は見当たりません。
何か思い当たることはありますか?
解決方法は?
コメントで @Pete Becker が指摘しているように、名前を修飾する必要があります。
string
として
std::string
:
private:
std::string constValue;
std::string varName;
コンパイラは何を言っているのかわからないだけで、ただ書いているに等しい。
SomeGreatType myMagicalUniversalType
コンパイラは、あなたが宣言しない限り、それがどのような型であるか分からないので、エラーになるのです。
型指定子がない - int と仮定
について読んでおくとよいでしょう。
を避けるべき理由
using namespace std;
.
コメントでのご質問に関して。
今まで書いたクラスでは、std::を付けず、.cppファイルのusing namespace std;に頼ってきました。なぜ、このクラスは違うのでしょうか?
私が推測できるのは、"Parameter.h" を含む前のある時点で、あなたは
using namespace std
. 例::
// SomeType.h
#using namespace std
...
// Parameter.cpp
#include "SomeType.h"
#include "Parameter.h"
コンパイラは上から下へコンパイルしていくので
を含めると、基本的に
#include
をそのファイルの内容に置き換えます。
関連
-
[解決済み】C++でint型に無限大を設定する
-
[解決済み】致命的なエラー LNK1169: ゲームプログラミングで1つ以上の多重定義されたシンボルが発見された
-
[解決済み] string does not name a type Errorが発生するのはなぜですか?
-
[解決済み] error: 'if' の前に unqualified-id を期待した。
-
[解決済み】文字列関数で'char const*'のインスタンスを投げた後に呼び出されるterminate [閉店].
-
[解決済み】「Expected '(' for function-style cast or type construction」エラーの意味とは?
-
[解決済み】オブジェクト引数のない非静的メンバ関数の呼び出し コンパイラーエラー
-
[解決済み】リンカーエラーです。"リンカ入力ファイルはリンクが行われていないため未使用"、そのファイル内の関数への未定義参照
-
[解決済み】クラステンプレートの使用にはテンプレート引数リストが必要です
-
[解決済み】boolのprintfフォーマット指定子とは?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】コンストラクターでのエラー:識別子を期待されますか?
-
[解決済み】クラステンプレートの引数リストがない
-
[解決済み】Cygwin Make bash コマンドが見つかりません。
-
[解決済み】文字列関数で'char const*'のインスタンスを投げた後に呼び出されるterminate [閉店].
-
[解決済み】IntelliSense:オブジェクトに、メンバー関数と互換性のない型修飾子がある
-
[解決済み】'cout'は型名ではない
-
[解決済み】エラー:free(): 次のサイズが無効です(fast)。
-
[解決済み】std::cin.getline( ) vs. std::cin
-
[解決済み】デバッグアサーションに失敗しました
-
[解決済み] using namespace std;」はなぜバッドプラクティスだと言われるのですか?