无法将main.T类型的表达式e隐式转换为main.main.T

问题描述 投票:0回答:1

main是什么意思?是否以某种方式存在main范围的两个嵌套级别?

Error: cannot implicitly convert expression myFunction(f) of type main.M!(Tuple!(wstring, wstring)*) to main.main.M!(Tuple!(wstring, wstring)*)

唯一的区别是main.main而不是main

Error: cannot implicitly convert expression myFunction(f) of type 
     main.M!(Tuple!(wstring, wstring)*)
to
main.main.M!(Tuple!(wstring, wstring)*)

上下文:

  • M是在顶层定义的结构
  • myFunction(f)的调用位于立即被调用的委托文字中;类似于(delegate bool () {myFunction(f);return true;})()
d
1个回答
0
投票

结果是我有两个结构定义副本。

  1. M结构定义
  2. myFunction的定义,它返回类型M的值
  3. 再次是M结构定义
  4. M = myFunction(f);

由于两个M实际上是不同的类型,但名称相同,因此我们的类型不匹配

© www.soinside.com 2019 - 2024. All rights reserved.