• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C++のプログラムについて教えてください。)

C++のプログラムのエラーを解決する方法

このQ&Aのポイント
  • C++のプログラムでコンパイル時にUndefined symbolsエラーが発生する問題の解決方法を教えてください。
  • Mac OS X 10.6.4でC++のプログラムをコンパイルする際に発生するUndefined symbolsエラーの原因と解決方法を教えてください。
  • C++のプログラムにおいて、g++ -o main main.cppでコンパイルすると、Undefined symbolsエラーが発生する場合の対処方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.3

staiticなメンバ変数numの実体がどこにもないからでしょう。 #include <iostream> class test{ private: static int num; public: test(); int get_num(); }; test::test(){ num=0; } int test::get_num(){ return num; } int test:num ; // static test::numの実体 int main(){ test t; int num = t.get_num(); std::cout<<num<<std::endl; return (0); }

その他の回答 (2)

回答No.2

> private: > static int num; staticなメンバ変数は明示的に変数の実体を宣言する必要があるようです。 メンバ関数の実体と並べて int test::num; という宣言を追加してください。

  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.1

staticメンバ変数は、クラス内宣言以外に実体宣言が必要です。

関連するQ&A