gpt4 book ai didi

.net - 错误 C3224 : 'System::Nullable' : no overloaded generic class takes '1' generic type arguments

转载 作者:行者123 更新时间:2023-12-02 11:01:49 24 4
gpt4 key购买 nike

我正在尝试使用Nullable<bool>作为 C++/CLI 中的 tribool(在 C# 中视为 bool?)。我从以下函数声明中收到这个奇怪的错误消息:

static IList<Modification^>^ modifications(double mass,
double tolerance,
Nullable<bool> monoisotopic,
Nullable<bool> approved,
Site site,
Position position,
Classification classification,
Nullable<bool> hidden);

我有正确的 using 语句将类型纳入范围。每次使用 Nullable 都会发生错误:

error C3224: 'System::Nullable' : no overloaded generic class takes '1' generic type arguments

我也尝试过Nullable<System::Boolean>但得到同样的错误。如果我使用完全限定名称 System::Nullable ,错误就会消失...但为什么?!

最佳答案

有两个不同的 System::Nullable -- a non-generic onea generic one 。当您真正想要使用后者时,您的 using 声明将前者纳入范围。

不幸的是,C++/CLI 的一个限制是,当存在另一个同名的非泛型类型时,无法使用 using 声明将泛型类型引入作用域。这里唯一真正的选择是完全限定类型名称或使用 using 指令而不是 using 声明(即 using namespace System;)。

关于.net - 错误 C3224 : 'System::Nullable' : no overloaded generic class takes '1' generic type arguments,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7042178/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com