小编Rav*_*ter的帖子

go build 找不到修订版

我在计算机 A 上开发了一个 repo 并创建了一个我签入的 go.mod/go.sum。

我使用计算机 B 上的 go.mod/go.sum 文件拉出该 repo,但是当我尝试构建程序时,无法满足模块约束。

$ go build
go: finding github.ibm.com/kms/key-protect-client v0.1.5
go: finding golang.org/x/tools v0.0.0-20180221164845-07fd8470d635
go: github.ibm.com/kms/key-protect-client@v0.1.5: unknown revision v0.1.5
go: error loading module requirements
Run Code Online (Sandbox Code Playgroud)

失败的 repo 是一个私有 repo,由于某种原因它没有被下载到模块缓存中。在另一台计算机上,下载依赖项并且构建成功。我正在同一个域中构建另一个私有存储库,所以我知道我的 github 凭据使我可以访问这些存储库。但是由于某种原因,go 模块系统无法访问依赖的 repo。

我找不到更多关于如何调试的信息。

module github go

15
推荐指数
3
解决办法
4万
查看次数

reinterpret_cast 失败 constexpr 函数

试图创建一个能够重新解释 IEEE 双精度位的 constexpr 类。例子:

constexpr double pi = 3.14159265358979323846;
constexpr fixedpoint a(pi);
Run Code Online (Sandbox Code Playgroud)

但是,遇到了 reinterpret_cast 不是常量子表达式的问题。

我在 constexpr fixedpoint& operator=(double rhs) 中使用它:

  uint64_t fraction = *reinterpret_cast<const uint64_t*>(&rhs) & 0x000F'FFFF'FFFF'FFFFull;
Run Code Online (Sandbox Code Playgroud)

但编译器将该语句标记为非常量子表达式。

尝试了类型双关语,但遇到了在 C++ 中只有一个字段可以处于活动状态的约束。

任何人都有一种解决方案,可以让我重新解释有效 constexpr 代码的 double 位?

c++ reinterpret-cast constexpr

3
推荐指数
1
解决办法
119
查看次数

标签 统计

c++ ×1

constexpr ×1

github ×1

go ×1

module ×1

reinterpret-cast ×1