
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ランキング
-
関数の入れ子ができない。
-
外部ファイル(テキスト)を取...
-
正規表現 ファイル名の取得
-
number_formatが勝手に四捨五入
-
正規表現に関する質問です。HTM...
-
C++ 共変 戻り値について
-
Let's Encryptで自動更新がされ...
-
どういうプログラムを関数化を...
-
String変数の文字列の検索方法
-
クラス内で上位クラス内メンバ...
-
ユーザー関数の外の変数は呼べ...
-
こういう事できますか?
-
Fatal error: Cannot use []
-
ファイルのフルパス splite?In...
-
.htaccessについて
-
静的多態性と動的多態性の共存...
-
コマンドプロンプト echo onで...
-
日付の比較
-
グーグルページランクの取得方法
-
PHPのプロセス滞留について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA コレクションに2次元配列...
-
VB.NETからVBAマクロ(引数)を呼...
-
PHP、ヒアドキュメント内でのIF...
-
エラーの理由が分りません。Pri...
-
どういうプログラムを関数化を...
-
可変変数にアロー演算子を使いたい
-
protectedなのにアクセスできな...
-
PHPの名前空間インポートについて
-
ASPのResponse.WriteをPHPでは...
-
[C++]std:mapの扱いを教えて頂...
-
vb作成したらでbeep音が鳴りま...
-
PHPの変数値をリンクさせたい
-
次のhtml・cssでspan内の文字を...
-
既存関数の上書き
-
classの再定義エラーについて
-
[C#]Arraylistに追加した構造体...
-
.htaccessについて
-
共用体のサイズをsizeofで
-
PHPで呼び出し元の関数名の取得...
-
PHPでの画像の形式の変換
おすすめ情報