アプリ版:「スタンプのみでお礼する」機能のリリースについて

C++ の勉強中です。

error LNK2001問題がありました。問題点も分からないから、
分かった方に教えていただけないでしょうか?
ソースも添付します。環境はVS2005 express edition

まず、ヘッダファイルです。ファイル名は、myheader.h
#ifndef __MYHEADER_H__
#define __MYHEADER_H__
#define includeshow(x)\
{\
s.show(x);\
}
class Sample{
public:
void show(char * parameter);
};
extern Sample s;
#endif
//------------------------------------------------
次に、Sample.cppです。
#include "myheader.h"
#include <stdio.h>
void Sample::show(char *parameter){
printf("in show func");
}
//-----------------------------------------------
最後にTest.cppです。
#include "myheader.h"
#include <stdio.h>
int main(){
includeshow("ppppp");
}

これで error LNK2001: 外部シンボル ""class Sample s" (?s@@3VSample@@A)" は未解決です。というエラーが出ています。

よろしくおねがいします。

A 回答 (2件)

「外部シンボルが未解決です」ってことは, 大抵「必要なものが定義されていない」ってことだ.


で, 多くの場合は親切なことに「何が定義されていない」のか, まで書いてくれている.

この回答への補足

返事ありがとうございます。

言われた通りだと思います。が、Sample クラスは定義されていますね。
ヘッダのextern で宣言してあります。結局は、なにがだめでしたか?

補足日時:2008/07/16 21:30
    • good
    • 0

 こんばんは。



 ↓に対する実体が記述されていません。
 extern Sample s;

 ↓Sample.cpp若しくはTest.cppのどちらかに記述します。
 Sample s;
    • good
    • 1
この回答へのお礼

返事ありがとうございました。

解決しました。ありがとうございました。

お礼日時:2008/07/16 22:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています