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で質問しましょう!
似たような質問が見つかりました
- Java java final 1 2022/06/10 22:49
- C言語・C++・C# 質問です 下記のコードを分かりやすく解説お願いします 初心者です #include ‹stdio.h 3 2022/05/26 22:03
- C言語・C++・C# Windows Formアプリからコンソールを呼び出して文字を出力させたい 8 2023/05/09 10:53
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- C言語・C++・C# 未解決の外部シンボル _printfが関数_mainで参照されました 1 2022/09/18 15:28
- MySQL 次の時間帯の勝率の合計を求めるSQL文 1 2023/07/04 17:12
- Excel(エクセル) Excelの置換が上手くいかない Microsoft® Excel® 2019 MSO (バージョン 5 2022/08/17 22:26
- PHP $_SESSIONについて教えて下さい。 2 2023/03/02 09:18
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA コレクションに2次元配列...
-
PHP、ヒアドキュメント内でのIF...
-
可変変数にアロー演算子を使いたい
-
ASPのResponse.WriteをPHPでは...
-
VBA 繰り返し。。。
-
エラーの理由が分りません。Pri...
-
配列の操作時にLNK2001外部シン...
-
正規表現 ファイル名の取得
-
UNIX CP "で上書きしません"
-
IIS5.1で「規定のドキュメント...
-
VB6のコンボボックスのテキスト...
-
Dosブロンプトでtabを出力したい
-
wordの差し込み印刷で文字...
-
DTOとEntityの差は何ですか。
-
shシェルスクリプト 空白行の...
-
findstrのerrorlevel
-
DMMの動画を全件取得したのです...
-
Yahoo! JAPAN IDを新規取得でき...
-
「取得先」という表現について
-
phpでcookieがうまく保存されない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Let's Encryptで自動更新がされ...
-
VBA コレクションに2次元配列...
-
VB.NETからVBAマクロ(引数)を呼...
-
エラーの理由が分りません。Pri...
-
PHP、ヒアドキュメント内でのIF...
-
PHPでの画像の形式の変換
-
CSVファイルをブラウザのキャッ...
-
可変変数にアロー演算子を使いたい
-
次のhtml・cssでspan内の文字を...
-
VB.NETSystem.Xml 要素数を得る...
-
どういうプログラムを関数化を...
-
ExcelVBAで部分一致(*)をしたい
-
PHPの変数値をリンクさせたい
-
file_existsが動作しない
-
protectedなのにアクセスできな...
-
PHPプログラム上で「URLを直接...
-
ASPのResponse.WriteをPHPでは...
-
PHPでXMLの置換 replaceData
-
[C#]Arraylistに追加した構造体...
-
[C++]std:mapの扱いを教えて頂...
おすすめ情報