
test.hにて
class test{
public:
static int test[8][8];
static int test1[8];
public:
static int set_test();
}
を定義して
test.cppで
void test(){
test[0][0] = 0;
test1[0] = 0;
}
とすると
LNK1120: 外部参照 1 が未解決です。
LNK2001外部シンボルが未解決です。
となってしまいます。
環境は
Visual Studio 2005 C++です。
No.3
- 回答日時:
なんかこれだけ見るとむちゃくちゃなんですけど、
本当にこんなソースなんですか?
リンクに行く前にコンパイルエラーになると思うんだけど。
c:\tmp\test.h(3) : error C2380: 前の型 'test' (コンストラクタが戻り値を
返すか、またはクラス名を再定義しています。)
c:\tmp\test.h(3) : error C3400: '文字列': 予期しないトークンや文字が属性
ブロックに見つかりました。
c:\tmp\test.h(3) : error C3400: '文字列': 予期しないトークンや文字が属性
ブロックに見つかりました。
c:\tmp\test.h(3) : error C2059: 構文エラー : ';'
c:\tmp\test.h(3) : error C2238: ';' の前に無効なトークンがあります。
test.cpp(3) : error C2628: 'test' の後に 'void' を記述するのは正しくありません (
';' で区切られていない可能性があります)。
test.cpp(4) : error C2109: 配列または、ポインタでない変数に添字が使われました。
test.cpp(5) : error C2065: 'test1' : 定義されていない識別子です。
この回答への補足
すみません。
書き間違っていました。
test.h
class TEST{
public:
static int test[8][8];
static int test1[2];
public:
void set_test();
};
test.cpp
#include "test.h"
void TEST::set_test(){
test[0][0] = 0;
test1[0] = 0;
}
でした。
すみませんでした。
void TEST::set_test(){
TEST::test[0][0] = 0;
TEST::test1[0] = 0;
}
No.2
- 回答日時:
void test()
{
test[0][0] = 0;
test1[0] = 0;
}
ではグローバルネームスペースのtest及びtest1を参照することになってしまいます。
testクラスの中身を参照したいのでしたら test::test1 などのようにネームスペースの指定を行わないとだめでしょう。
そもそも論として、クラスと同じ名前の配列や、クラスと同じ名前の関数は定義できないと思いますが……。
この回答への補足
すみません。
書き間違っていました。
test.h
class TEST{
public:
static int test[8][8];
static int test1[2];
public:
void set_test();
};
test.cpp
#include "test.h"
void TEST::set_test(){
test[0][0] = 0;
test1[0] = 0;
}
でした。
すみませんでした。
void TEST::set_test(){
TEST::test[0][0] = 0;
TEST::test1[0] = 0;
}
ネームスペースの指定をしても同じエラーがでてしまっています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA コレクションに2次元配列...
-
どういうプログラムを関数化を...
-
PHPで呼び出し元の関数名の取得...
-
同一ドメインで特定のディレク...
-
[C++]std:mapの扱いを教えて頂...
-
「取得先」という表現について
-
Dosブロンプトでtabを出力したい
-
IPアドレスとMACアドレスを取得...
-
【C#】DataGridViewの最大列数...
-
excel access連携 このテーブル...
-
format関数について
-
バッチファイルでpingの結果を...
-
DTOとEntityの差は何ですか。
-
Windowsのsetコマンドでの小数...
-
PHPを使って、別サイトの一部を...
-
findstrのerrorlevel
-
asp.netでのセッションを使用し...
-
shシェルスクリプト 空白行の...
-
php history.back()の戻るボタ...
-
表示している画面サイズの取得方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA コレクションに2次元配列...
-
どういうプログラムを関数化を...
-
VB.NETからVBAマクロ(引数)を呼...
-
PHP正規表現の難題・preg_repla...
-
PHPの名前空間インポートについて
-
関数の入れ子ができない。
-
UNIX CP "で上書きしません"
-
配列の操作時にLNK2001外部シン...
-
number_formatが勝手に四捨五入
-
外部ファイル(テキスト)を取...
-
次のhtml・cssでspan内の文字を...
-
Let's Encryptで自動更新がされ...
-
vb作成したらでbeep音が鳴りま...
-
可変変数にアロー演算子を使いたい
-
CakePHPでの自作関数保存場所
-
.htaccessによる301リダイレクト
-
ExcelVBAで部分一致(*)をしたい
-
classの再定義エラーについて
-
正規表現に関する質問です。HTM...
-
String変数の文字列の検索方法
おすすめ情報