- PR -

外部変数の記述について(グローバル変数)

投稿者投稿内容
ken
大ベテラン
会議室デビュー日: 2006/03/29
投稿数: 121
お住まい・勤務地: 東京
投稿日時: 2006-03-29 14:33
すみません、以後気をつけます。。

c:\documents and settings\ken\my documents\visual studio 2005\projects\abc\abc\abc.h(87) : error C2061: 構文エラー : 識別子 'def'

先ほどの、Blueさんの試してみたのですが、
上記のようなエラーが出てしまいました。。。
ken
大ベテラン
会議室デビュー日: 2006/03/29
投稿数: 121
お住まい・勤務地: 東京
投稿日時: 2006-03-29 14:41
コードの書き方に問題があるのかもしれません。。。
どうもエラーが出てしまいます・・・



>C++/CLI をあまり弄ってないので間違っているかもしれませんが。
>普通の C++ 風で言うと…

>・abc.h
>extern int test;

>・abc.cpp
>int test;

>・def.h
>#include "abc.h"
>(ここで extern int test でもいいですが)

>どうでしょう。
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2006-03-29 14:47
引用:

コードの書き方に問題があるのかもしれません。。。
どうもエラーが出てしまいます・・・


どういったエラーでしょうか。

別スレの方では、何故 cpp がないのかという話がありますが、グローバル変数の「実体」は cpp におかなければならないと思うのですが…。

_________________
囚人のジレンマな日々
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-03-29 15:07
回答の方向性が分かれていると思ったら...

引用:

kenさんの書き込み (2006-03-29 11:09) より:

グローバル変数的な事を試したいのですが


とありますが、

引用:

Aダイアログ(abc.h) に定義されてある変数(X)に
Bダイアログ(def.h) から値を取得するには、


これは「グローバル変数的」とは言えないと思います。

A に属しているパブリック メンバの変数ですね。
そう思って、私の回答は書いています。

個人的にはグローバル変数という考えは捨てるべきだと思います。
せめて、クラス内の静的なパブリック メンバでしょう。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
ken
大ベテラン
会議室デビュー日: 2006/03/29
投稿数: 121
お住まい・勤務地: 東京
投稿日時: 2006-03-29 15:14
以下のようなエラーになります。

コンパイルしています...
def.cpp
c:\documents and settings\ken\my documents\visual studio 2005\projects\abc\abc\abc.h(92) : error C2065: 'def' : 定義されていない識別子です。
c:\documents and settings\ken\my documents\visual studio 2005\projects\abc\abc\abc.h(92) : error C2065: 'a' : 定義されていない識別子です。
c:\documents and settings\ken\my documents\visual studio 2005\projects\abc\abc\abc.h(92) : error C2061: 構文エラー : 識別子 'def'

>・abc.h
#include "def.h"


>・abc.cpp
int test;

>・def.h
#include "abc.h"

>・def.cpp

上記のような状態です。。
御願いします。


囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2006-03-29 15:14
引用:

Aダイアログ(abc.h) に定義されてある変数(X)に
Bダイアログ(def.h) から値を取得するには、


引用:

これは「グローバル変数的」とは言えないと思います。


確かに、「Aダイアログに定義」っていう表現だとそうですね。
ソースからだと「Aダイアログを定義してある abc.h に定義されていある変数(X)」という意味なんでしょうね。

そう思って、私の回答は書いてあります。

引用:

個人的にはグローバル変数という考えは捨てるべきだと思います。


同意。
_________________
囚人のジレンマな日々
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2006-03-29 15:21
例でお出しになっているのと違うものが出ているのですが。

1.
abc.h に定義してある int test を def.h が使いたいという事ではなかったでしょうか。
なので

・abc.h
#include "def.h"

は逆。もしくはいらない。

2.
識別子 a と def が何者か分からない。突然出てきましたよね。

3.
extern int test がない。

_________________
囚人のジレンマな日々
ken
大ベテラン
会議室デビュー日: 2006/03/29
投稿数: 121
お住まい・勤務地: 東京
投稿日時: 2006-03-29 15:23
そうですね、すみません。
じゃんぬねっとさん&囚人さん&Blueさん
レスありがとうございます。

>これは「グローバル変数的」とは言えないと思います。

>A に属しているパブリック メンバの変数ですね。
>そう思って、私の回答は書いています。

>個人的にはグローバル変数という考えは捨てるべきだと思います。
>せめて、クラス内の静的なパブリック メンバでしょう。

Aに属している、変数Xに、
Bからアクセスするには、どうすればよいでしょうか??

スキルアップ/キャリアアップ(JOB@IT)