最近C++を勉強を始めました。 静的メンバ関数をclassの宣言外にだそうとする(2)と、 >error C2352: 静的でないメンバ関数の中で呼び出しが正しくありません。 なんて言われてしまいます。 静的メンバ関数は、外にだしちゃダメなのですか? -----(1) class mydat { static int num ; public: static int foo(){ return num } ; } ; -----(2) class hoo { static int num ; public: static int foo(); } ; static int hoo::foo() { return num ; }
やはりMoreなのね・・ More Exceptional C++: 40 New Engineering Puzzles, Programming Problems, and Solutions 発売予定日は 2001/11/23 です。 価格: ¥4,121
んでこれ。上の入れて5冊全部入っとる・・。 C++ In-Depth Box Set 価格: ¥17,076 発売予定日は 2001/12/07 です。
コードきれいなってるのかな。 Bundle of Algorithms in C++, Parts 1-5: Fundamentals, Data Structures, Sorting, Searching, and Graph Algorithms Robert Sedgewick (著) 価格: ¥8,832 発売予定日は 2001/12/28 です。
> 9.2 Class members > 4 A member declarator can contain a constant initializer only if it declares a static member (9.4) of integral > or enumeration type, see 9.4.2.
>>166 164 が何を憤ってるのか良く分からんが(_H_TYPES_ なんてつけたの俺じゃないぞ) _ で始まる名前は 使わんほうが良いというのは正しい。ANSI C++ の規格書から抜粋ね。
17.4.3.1.2 Global names 1 Certain sets of names and function signatures are always reserved to the implementation: - Each name that contains a double underscore (_ _) or begins with an underscore followed by an uppercase letter (2.11) is reserved to the implementation for any use. - Each name that begins with an underscore is reserved to the implementation for use as a name in the global namespace.