[解決済み] 数値定数の前にunqualified-idを付けて、数値を定義することを期待する。
2022-01-26 21:18:15
質問
私はC++の初心者なので、phidget-codeの例でこのエラーの意味がわかりません。
Main.cpp:8:16: error: expect unqualified-id before numeric constant
//verander de volgende informatie naar de informatie voor jouw database
#define dserver "oege.ie.hva.nl"
#define duser "username"
#define dpassword "password"
#define ddatabase "databasename"
#define homeid 1234 //line 8
構文エラーでしょうか?それとも他に何か?私はintの代わりに#defineを使っています。
EDIT: エラーログの全文を追加しました。
完全なエラーログです。 http://pastebin.com/3vtbzmXD
main.cppの全コード。 http://pastebin.com/SDTz8vni
解決方法は?
エラーの全容は
error: expected unqualified-id before numeric constant
note: in expansion of macro ‘homeid’
string homeid;
^
マクロと同じ名前の変数を宣言しようとしているが、それはできない。プリプロセッサはすでにプログラムを踏みつぶし、それを
string 1234;
これは有効な宣言ではありません。プリプロセッサはプログラムの構造を知らないし、マクロは言語のスコープルールに従わない。
可能であれば、マクロではなく、定数やインライン関数などの言語機能を使用する。この場合
const int homeid = 1234;
これはグローバルな名前空間にスコープされ、より狭いスコープで同じ名前を持つ何かによって安全に隠すことができます。隠された場合でも、これは常に
::homeid
.
本当にマクロが必要な場合は、「マクロを使う」という慣習に従うのが賢明です。
SHOUTY_CAPS
をマクロに使用します。マクロの使用に関連する潜在的な危険や奇妙さに注意を払うだけでなく、他の大文字を使用した名前と衝突することはありません。
関連
-
[解決済み】クラステンプレートの引数リストがない
-
[解決済み】C-stringを使用すると警告が表示される。"ローカル変数に関連するスタックメモリのアドレスが返される"
-
[解決済み】C++のGetlineの問題(オーバーロードされた関数 "getline "のインスタンスがない
-
[解決済み】抽象クラス型の無効なnew-expression
-
[解決済み】fpermissiveフラグは何をするのですか?
-
[解決済み] [Solved] インクルードファイルが開けません。'stdio.h' - Visual Studio Community 2017 - C++ Error
-
[解決済み】C++ - ステートメントがオーバーロードされた関数のアドレスを解決できない。
-
[解決済み】Enterキーを押して続行する
-
[解決済み] 文字列定数の前にunqualified-idを指定する必要があります。
-
[解決済み] 数値定数の前にunqualified-idがあると予想されますか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】getline()が何らかの入力の後に使用されると動作しない 【重複あり
-
[解決済み】LLVMで暗黙のうちに削除されたコピーコンストラクタの呼び出し
-
[解決済み】C-stringを使用すると警告が表示される。"ローカル変数に関連するスタックメモリのアドレスが返される"
-
[解決済み】致命的なエラー LNK1169: ゲームプログラミングで1つ以上の多重定義されたシンボルが発見された
-
[解決済み】関数名の前に期待されるイニシャライザー
-
[解決済み】「corrupted size vs. prev_size」glibc エラーを理解する。
-
[解決済み】Visual Studio 2013および2015でC++コンパイラーエラーC2280「削除された関数を参照しようとした」が発生する
-
[解決済み] 非静的データメンバの無効な使用
-
[解決済み] [Solved] インクルードファイルが開けません。'stdio.h' - Visual Studio Community 2017 - C++ Error
-
[解決済み】'std::cout'への未定義の参照