前提・実現したいこと
visualstudio2019でC言語の学習をしている者です。
ファイル分割(ヘッダーやソースファイルに分ける)の学習中にこのようなエラーが起き、
調べてもわからなかったため質問しました。
発生している問題・エラーメッセージ
エラー LNK2001 外部シンボル ""int (* names)[256]" (?names@@3PAY0BAA@HA)" は未解決です。 エラー LNK1120 1 件の未解決の外部参照
該当のソースコード
main
C
1#include <iostream> 2#include <stdio.h> 3#include "nameDB.h" 4#include "showname.h" 5int main() 6{ 7 init(); 8 setName(0, "山田太郎"); 9 setName(1, "太田花子"); 10 setName(2, "徳川家康"); 11 showName(1); 12 showName(2); 13 showName(0); 14} 15
nameDB.h
C
1#pragma once 2#ifndef _NAME_DB_H_ 3#define _NAME_DB_H_ 4void init(); 5void setName(int, const char*); 6#endif // namedatabase(define).
shownameDB.h
C
1#pragma once 2#ifndef _SHOW_NAME_H_ 3#define _SHOW_NAME_H_ 4void showName(int); 5#endif // shownameDB
nameDB.cpp
#include "nameDB.h" #include <stdio.h> #include <string.h> char names[10][256]; void init() { int i; for (i = 0; i < 10; i++) { strcpy_s(names[i], ""); } } void setName(int num, const char* name) { if (num >= 0 && num < 10) { strcpy_s(names[num], name); } }
shownameDB.cpp
C
1#include "showname.h" 2#include <stdio.h> 3extern int names[10][256]; 4void showName(int num) { 5 printf("%d:%s¥n", num, names[num]); 6}
試したこと
extern "C"をしてみるといいと調べたので試したところ効果なし
補足情報(FW/ツールのバージョンなど)
visualstudio 2019
windows10 Home
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/28 04:09