标签: ambiguity

变量'MyException'已声明但从未使用过

我需要清除这个警告:

try
{
    doSomething()
}
catch (AmbiguousMatchException MyException)
{
    doSomethingElse()
}
Run Code Online (Sandbox Code Playgroud)

编者告诉我:

变量'MyException'已声明但从未使用过

我怎样才能解决这个问题.

.net c# frameworks exception ambiguity

66
推荐指数
3
解决办法
5万
查看次数

如何在具有多个同名文件的项目的一个文件上设置断点?

我想在第45行的文件service.cpp上的gdb中设置一个断点,我这样做:

gdb> break service.cpp:45
Run Code Online (Sandbox Code Playgroud)

问题是我的应用程序中有许多service.cpp文件,它没有选择我感兴趣的文件.如何指定正确的service.cpp文件?

gdb breakpoints ambiguity

56
推荐指数
1
解决办法
5万
查看次数

警告:使用git-svn时refname'xxx'不明确

我使用git作为Subversion的前端(通过git svn).

因此,对于每个svn trunk/branch,我在git中有一个名为"remotes/xxx"的远程分支.例如"遥控器/主干","遥控器/冷藏特征".

现在我希望每个远程分支都有一个"默认"本地分支,用于dcommit.问题是我希望这些分支以Subversion分支命名,比如"trunk","coolfeature",所以我在git中有以下分支:

trunk
coolfeature
remotes/trunk
remotes/coolfeature
Run Code Online (Sandbox Code Playgroud)

问题是,每当我引用"trunk"或"coolfeature"时,git抱怨分支名称含糊不清.没什么大不了的,但我觉得不舒服.

问题是,我怎么能处理这个警告,假设简单地重命名分支不是我想要做的.这类案件的最佳做法是什么?

git branch git-svn ambiguity

49
推荐指数
2
解决办法
2万
查看次数

Django模型与同一个表中的2个外键

我想要一个带有来自同一个表的2个外键的Django模型.这是一个事件表,有2列供员工使用:'actor'和'receiver'.但我得到这个错误:

错误:一个或多个模型未验证:tasks.task:中间模型TaskEvent有多个Employee的外键,这是不明确的,不允许.

有没有更好的方法来模拟这个?谢谢

我想我要加一张TaskEvent_to_Employee桌子.其中将有两条记录,每条记录与两条记录相关TaskEvent.有人知道更简单的解决方法吗?

django foreign-keys ambiguity

44
推荐指数
4
解决办法
5万
查看次数

当逆变导致模糊时,没有警告或错误(或运行时故障)

首先,请记住.NET StringIConvertibleICloneable.

现在,考虑以下非常简单的代码:

//contravariance "in"
interface ICanEat<in T> where T : class
{
  void Eat(T food);
}

class HungryWolf : ICanEat<ICloneable>, ICanEat<IConvertible>
{
  public void Eat(IConvertible convertibleFood)
  {
    Console.WriteLine("This wolf ate your CONVERTIBLE object!");
  }

  public void Eat(ICloneable cloneableFood)
  {
    Console.WriteLine("This wolf ate your CLONEABLE object!");
  }
}
Run Code Online (Sandbox Code Playgroud)

然后尝试以下(在某些方法中):

ICanEat<string> wolf = new HungryWolf();
wolf.Eat("sheep");
Run Code Online (Sandbox Code Playgroud)

当编译它时,没有编译器错误或警告.运行它时,看起来调用的方法取决于我的class声明中的接口列表的顺序HungryWolf.(尝试在逗号(,)分隔列表中交换两个接口.)

问题很简单:这不应该给出编译时警告(或者在运行时抛出)吗?

我可能不是第一个提出像这样的代码的人.我使用了界面的逆变,但你可以用界面的covarainace做一个完全类似的例子.事实上,Lippert先生很久以前就做过这样的事情.在他博客的评论中,几乎每个人都认为这应该是一个错误.然而他们默默地允许这样做. …

.net c# ambiguity contravariance undefined-behavior

43
推荐指数
2
解决办法
917
查看次数

C#以下方法或属性之间的调用不明确:'System.Math.Round(double,int)'和'System.Math.Round(decimal,int)

由于以下错误,我的代码无法编译:

以下方法或属性之间的调用不明确:'System.Math.Round(double,int)'和'System.Math.Round(decimal,int)

我的代码是

Math.Round(new FileInfo(strFilePath).Length / 1024, 1)
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

谢谢

c# ambiguity

37
推荐指数
3
解决办法
5万
查看次数

C#接口方法歧义

请考虑以下示例:

interface IBase1
{
   int Percentage { get; set; }
}

interface IBase2
{
   int Percentage { get; set; }
}

interface IAllYourBase : IBase1, IBase2
{
}

class AllYourBase : IAllYourBase
{
   int percentage;

   int Percentage {
      get { return percentage; }
      set { percentage = value; }
   }
}

void Foo()
{
   IAllYourBase iayb = new AllYourBase();
   int percentage = iayb.Percentage; // Fails to compile. Ambiguity between 'Percentage' property.
}
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,Percentage要调用的属性之间存在歧义.假设IBase1IBase2接口可能没有 …

c# oop interface ambiguity

31
推荐指数
6
解决办法
8166
查看次数

为什么用整数字面调用重载的ambig(long)和ambig(unsigned long)是不明确的?

编译时

void ambig(  signed long) { }
void ambig(unsigned long) { }

int main(void) { ambig(-1); return 0; }
Run Code Online (Sandbox Code Playgroud)

我明白了

error C2668: 'ambig' : ambiguous call to overloaded function
    could be 'void ambig(unsigned long)'
    or 'void ambig(long)'
while trying to match the argument list '(int)'
Run Code Online (Sandbox Code Playgroud)

我知道我可以通过说-1L而不是-1,但为什么/如何在一开始就被认为是模棱两可的来"解决"它?

c++ ambiguity visual-c++

31
推荐指数
2
解决办法
5186
查看次数

使用'Microsoft.Office.Interop.Word._Document.Close'时编译时间警告

有谁知道如何解决此警告消息?

方法'Microsoft.Office.Interop.Word._Document.Close(ref object,ref object,ref object)'和非方法'Microsoft.Office.Interop.Word.DocumentEvents2_Event.Close'之间的歧义.使用方法组.

c# ambiguity compiler-warnings

19
推荐指数
1
解决办法
6374
查看次数

模糊的隐含值

我一直以为我理解scala implicits直到最近才遇到奇怪的问题.

在我的应用程序中,我有几个域类

case class Foo(baz: String)
case class Bar(baz: String)
Run Code Online (Sandbox Code Playgroud)

还有一个能够从字符串构造域对象的类.它可以被子类化以进行真正的反序列化并不重要.

class Reads[A] {
  def read(s: String): A = throw new Exception("not implemented")
}
Run Code Online (Sandbox Code Playgroud)

接下来,有隐式反序列化器

implicit val fooReads = new Reads[Foo]
implicit val barReads = new Reads[Bar]
Run Code Online (Sandbox Code Playgroud)

以及将字符串转换为域类之一的帮助器

def convert[A](s: String)(implicit reads: Reads[A]): A = reads.read(s)
Run Code Online (Sandbox Code Playgroud)

不幸的是,在尝试使用它时

def f(s: String): Foo = convert(s)
Run Code Online (Sandbox Code Playgroud)

我得到编译错误

error: ambiguous implicit values:
 both value fooReads of type => Reads[Foo]
 and value barReads of type => Reads[Bar]
 match expected type Reads[A]
       def f(s: String): …
Run Code Online (Sandbox Code Playgroud)

scala ambiguity implicit-conversion

19
推荐指数
2
解决办法
1万
查看次数