C++相談室 part9
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
NGNG(´∀`).。o(関連URLは>>2-5の辺り)
0951デフォルトの名無しさん
NGNG0952デフォルトの名無しさん
NGNGfriendは使わないほうがいいんでしょ?
goto並みっすか?
0953デフォルトの名無しさん
NGNGC言語しかできないんですが。
0954デフォルトの名無しさん
NGNGいちおうC++でなくCからでも使えるようになっとるよ・・・・
0955デフォルトの名無しさん
NGNGiteratorを作るような時は、逆にfriendを積極的に使った方が、
publicメンバを減らせてカプセル化を強められるということもある。
要は使い方次第。
0956デフォルトの名無しさん
NGNGあったような気がするが……
ん―、思い出せん。
0957デフォルトの名無しさん
NGNGああ、何を言いたいのか分かった。
class Hoge{
int n_;
public:
Hoge() : n_(0) {}
Hoge(int i) : n_(i) {}
friend Hoge operator +(const Hoge& lhs,const Hoge& rhs){
return lhs.n_ + rhs.n_;
}
};
Hoge a(3);
Hoge b(4);
Hoge c = a + b;
c = 3 + b;// friendなら通る。
c = a + 4;
ってなケースのことだな。
friendなら、暗黙の型変換をやってくれるからどれも通るけど、
friendにしてないと、通らないやつが出てくる、というお話。
0958デフォルトの名無しさん
NGNGうむ。3.operator+(b) という構文は許されないからねえ。
0959デフォルトの名無しさん
NGNG0960デフォルトの名無しさん
NGNG「C++相談室 part10」
http://pc3.2ch.net/test/read.cgi/tech/1029315669/
0961デフォルトの名無しさん
NGNG0962デフォルトの名無しさん
NGNG0963デフォルトの名無しさん
NGNG0964デフォルトの名無しさん
NGNG0965デフォルトの名無しさん
NGNG0966デフォルトの名無しさん
NGNG0967デフォルトの名無しさん
NGNG思い切って聞きますね。
UNLZA32.DLLの扱いについて
質問したいのですが、
どこのスレへいったらいいのでしょうか?
どこへいってもすれ違いと言われてしまいそうで
困りはてています。
ここでお聞きしてもいいのでしょうか?
0968デフォルトの名無しさん
NGNGそんなDLL初めて聞いた。何する奴?
0969967
NGNGUNLZA32.DLL
↓
UNLHA32.DLL
でした。
0970デフォルトの名無しさん
NGNGこれ見る限り, APIドキュメントも同梱されてるみたいだが…?
0971967
NGNGわざわざすみません、
一通りドキュメントには目を通したんですが、
どうにもわからなくて。。
ここで具体的に聞いていいですか?
0972デフォルトの名無しさん
NGNG扱いといっても色々あって回答に困る。
拾ってきたアプリ(用DLL)の使用方法が分からないの?
自作アプリからDLLを使う方法が分からないの?
権利面とかの扱いが分からないの?
0973デフォルトの名無しさん
NGNG下記あたりをキーにGoogleで検索して見てください。
DLL LHA 動的リンク
すぐに詳しく書いてあるページがヒットすると思う。
0974デフォルトの名無しさん
NGNGとりあえずここに詳しい解説があるよ。
http://www.hyuki.com/writing/techask.html
0975967
NGNG自分の症状書いてたので
レスに気付きませんでした。
とりあえず>974さんに教えていただいた
ところに解決策があることを期待して行って来ます。
それから聞いても遅くないですしね。、
ありがとうございました。
0976967
NGNG教えていただいた、キーワードでも
さわりくらいの解説しかヒットしませんでした。
>974
散々探したのですが
本当にこのURLであってますか?
サイト内検索でLHAと検索しても
ヒットしなかったんですが。。
とりあえず解説サイトはないとして、
心置きなく質問させてもらいますね。
でもちょっとタイミング悪いみたいなんで、
次スレ待ってます。
0977デフォルトの名無しさん
NGNG解説サイトはあるが、それが967の求めているかどうかがわからない、というだけ。
>>974をちゃんと読んで、自分が何を求めているのか、正しく提示せよ、ということ。
0978デフォルトの名無しさん
NGNG- main.cc
#include<cstdio>
template <typename T> void func(T a);
int main(int argc,char *argv[]){
func('c');
}
-func.cc
template <typename T> void func(T a){
return;
}
の様に別ファイルにテンプレート関数を記述した時、コンパイルは通るのですが、リンクで以下のエラーメッセージが発生します。なぜなのでしょうか?
main.o: In function `main':
main.o(.text+0xc): undefined reference to `void func<char>(char)'
collect2: ld returned 1 exit status
コンパイラは、gcc version 2.95.3 を使用しています。
よろしくおねがいします。
0979デフォルトの名無しさん
NGNG分らない。
0980デフォルトの名無しさん
NGNGexport付けてないからでしょ。それと、exportキーワードをサポートしている
処理系はほとんどないから、分割コンパイルは難しいかも。
0981デフォルトの名無しさん
NGNG0982デフォルトの名無しさん
NGNGどっかいいサイトあったら教えて
0983またかよ、、
NGNG0984デフォルトの名無しさん
NGNG979> それではfunc.ccをコンパイルするときには func<char> が必要かどうか
979> 分らない。
とありますが、必要である事をコンパイラへ知らせるには、どのようにすれば良いのでしょうか?
980> export付けてないからでしょ。それと、exportキーワードをサポートしている
980> 処理系はほとんどないから、分割コンパイルは難しいかも。
export をサポートしていないコンパイラでは、どうやっても無理と言う事でしょうか? export をサポートしているコンパイラは、どの様な種類の物があるのでしょうか?
981> See C++ 3rd, C.13.10
これは、何ですか?
983> http://www.kumei.ne.jp/c_lang/index.html
C++ の文法について書かれたページですね。しかしここには、この問題の解決法は記述されていないようです。
0985デフォルトの名無しさん
NGNG0986デフォルトの名無しさん
NGNG0987デフォルトの名無しさん
NGNG>981> See C++ 3rd, C.13.10
>これは、何ですか?
See=見ろ
C++ 3rd=プログラミング言語C++ 第3版
C.13.10=付録Cの13(テンプレート)の10(明示的なインスタンス生成)
0988デフォルトの名無しさん
NGNGOppai → おっぱい
0989デフォルトの名無しさん
NGNGファイル func.cc 内に、
template void func<char>(char);
template void func<int>(int);
を記述する事により、実際に使用する型各々のコンパイル結果がオブジェクトファイル内に生成される訳ですね。
どうもありがとうございました。
0990デフォルトの名無しさん
NGNG0991デフォルトの名無しさん
NGNG0992デフォルトの名無しさん
NGNG0993デフォルトの名無しさん
NGNG0994デフォルトの名無しさん
NGNG0995デフォルトの名無しさん
NGNG0996デフォルトの名無しさん
NGNG0997デフォルトの名無しさん
NGNG0998デフォルトの名無しさん
NGNG0999SITNAM
NGNG(゚Д゚)ノ < 1000ゲット!
(| | \__________
〜| |
∪∪
1000SITNAM
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。