トップページ > プログラム > 2015年08月14日 > UBi1qBHf

書き込み順位&時間帯一覧

2 位/150 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000100000002020106



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
スレ立てるまでもない質問はここで 140匹目 [転載禁止]©2ch.net
C++相談室 part118 [転載禁止]©2ch.net

書き込みレス一覧

スレ立てるまでもない質問はここで 140匹目 [転載禁止]©2ch.net
824 :デフォルトの名無しさん[]:2015/08/14(金) 10:16:29.22 ID:UBi1qBHf
アセンブラなんかやらなくても
計算機科学の本を読めばいいよ
C++相談室 part118 [転載禁止]©2ch.net
680 :デフォルトの名無しさん[]:2015/08/14(金) 18:32:32.97 ID:UBi1qBHf
#include <iostream>
using namespace std;

struct B{
template<int a>
static auto f(int x){return x==a;}
};

template<typename T>
struct A{
auto f(){return T::f<10>(10);}
};

int main() {
A<B> a;
a.f();
return 0;
}

エラーの原因がわかりません
教えてください
C++相談室 part118 [転載禁止]©2ch.net
682 :デフォルトの名無しさん[]:2015/08/14(金) 18:54:52.75 ID:UBi1qBHf
>>681
ありがとうございます
勉強になりました
C++相談室 part118 [転載禁止]©2ch.net
683 :デフォルトの名無しさん[]:2015/08/14(金) 20:28:00.61 ID:UBi1qBHf
クラステンプレートのなかで
static constexpr int a=10;
と書くとリンカエラーでundefined reference toになるんです
クラステンプレートのそとにも
static constexpr int a;
と同じ意味のものを書くとイニシャライザーが必要って出るんです
外にもイニシャライザーをまたかくと
すでにイニシャライザーがあるってでるんですけど
どうしたらいいですか?
C++相談室 part118 [転載禁止]©2ch.net
685 :デフォルトの名無しさん[]:2015/08/14(金) 20:32:31.49 ID:UBi1qBHf
自己解決しました
質問内容が間違ってました 正解は以下の物です

クラステンプレートのなかで
static constexpr auto a=10;
と書くとリンカエラーでundefined reference toになるんです
クラステンプレートのそとにも
static constexpr auto a;
と同じ意味のものを書くとイニシャライザーが必要って出るんです
外にもイニシャライザーをまたかくと
すでにイニシャライザーがあるってでるんですけど
どうしたらいいですか?

外に書いたやつの型がわからないからエラーになったのだと思います
スレ立てるまでもない質問はここで 140匹目 [転載禁止]©2ch.net
842 :デフォルトの名無しさん[]:2015/08/14(金) 22:09:02.13 ID:UBi1qBHf
>>827
aをビット列<<を左シフト|をビット和として
a= 1<<4|1<<6|1<<1
if(10010==a)A
if(1010010==a)B
if(1010==a)C
で早いんじゃないの


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。