关于自己写的模板
  • 板块学术版
  • 楼主Disjoint_cat
  • 当前回复4
  • 已保存回复4
  • 发布时间2023/1/4 21:07
  • 上次更新2023/10/24 05:33:56
查看原帖
关于自己写的模板
549499
Disjoint_cat楼主2023/1/4 21:07

rt,我正在整理模板。

我写了一个 ModIntstruct,就是取模整数。

它是这样的:

struct ModInt
{
	ll val;
	ModInt(ll v=0){val=v%MOD;}
	...
};

但是我写其他 struct 的时候,如果我想把它写成模板类,比如 Frac 分数类:

template<typename T>
struct Frac
{
	T fz,fm;
	...
	double Val(){return (double)fz/fm;}
	...
}

那么,如果我写 Frac<ModInt>,就会 CE,这是因为 ModInt 没法转成 double

但是我发现 lllong long)能转成 ModInt,这是因为 ModInt 有一个构造函数。

所以如何写出 ModIntlldouble 的构造函数?或者说如何才能让 Frac<ModInt> 不 CE?

2023/1/4 21:07
加载中...