-
2021-02-01 11:20:03
public static void getDCPowerSession( SequenceContext sequenceContext, string [] pinNames, out NIDCPower [] dcPowerSessions out string [] channelNames) { try { codeModualAPI.ISemiconductorModuleContext tsmContext = GetTSMContext(sequenceContext); tsmContext.GetNIDCPowerSessions(pinNames, out NIDCPower[] dcPowerSessions, out string[] channelString); } catch (Exception e) { throw new Exception("Get DCPower sessions failed" + e.Message); } }
dcPowerSessions作为getDCPowerSession的out参数,应该类似于引用的工作方式,从C++的语法上看,将其传给GETNIDCPowerSessions的参数没问题,但实际情况是,out后跟着参数类型相当于自己重新创建了一个该名字的变量,因此产生了该范围内的命名冲突,解决方法是用一个新的名字。
tsmContext.GetNIDCPowerSessions(pinNames, out NIDCPower[] sessions, out string[] channelString); dcPowerSessions = sessions; channelNames = channelString;
另一种解决方案是直接当引用
tsmContext.GetNIDCPowerSessions(pinNames, out dcPowerSessions, out channelNames);
更多相关内容 -
CS0136 无法在此范围中声明名为“channel”的局部变量或参数,因为该名称在封闭局
2019-12-17 11:49:55CS0136 无法在此范围中声明名为“channel”的局部变量或参数,因为该名称在封闭局 .ChildHandler(new ActionChannelInitializer<ISocketChannel>(channel_a => { var pipel...CS0136 无法在此范围中声明名为“channel”的局部变量或参数,因为该名称在封闭局
.ChildHandler(new ActionChannelInitializer<ISocketChannel>(channel_a =>
{
var pipeline = channel_a.Pipeline;}
-
【C# Error记录】CS0136:无法在此范围中声明名为“i”的局部变量或参数,因为该名称在封闭局部范围中用于...
2020-04-30 17:31:08如下代码不能通过编译 1 static void Main(string[] args) 2 { 3 int i = 0; 4 for(int i = 0; i < 10; i++) 5 { 6 WriteLine($"i={i}"); ...【错误原因】Line3与Line4中都用i作为了变量名,...在VS2017中,如下代码不能通过编译
using System; using static System.Console; namespace test { class Program { static void Main(string[] args) { int i = 0; for(int i = 0; i < 10; i++) { WriteLine($"i={i}"); } ReadKey(); } } }
【错误原因】Line3与Line4中都用i作为了变量名,这在C#中是不允许的,虽然他们俩一个在Main()的作用域内,另一个在for循环的作用域内,但是Main()嵌套了for循环,这样的话对于编译器来说两个变量i会产生歧义。
【解决方案】把其中一个变量名作更改即可
下面的例子就没有问题(C#6语法)using System; using static System.Console; namespace test { //int i = 0; //错误,命名空间不能直接包含字段或方法之类的成员 class Program { int i = 4396; //没问题 static void Main(string[] args) { { int i = 0;//没问题,同级的块中字段可以相同 } for(int i = 0; i < 10; i++)//没问题,同级的块中字段可以相同 { WriteLine($"i={i}"); } Program p = new Program(); WriteLine($"Global i={p.i}"); ReadKey(); } } }
运行结果:
i=0 i=1 i=2 i=3 i=4 i=5 i=6 i=7 i=8 i=9 Global i=4396
至于为何Program类的成员变量i没有问题,我的理解是:C#中所有变量都是依托于类的,对于一个类来说,作用范围最大的某过于其public修饰的静态成员变量,其次就是普通成员变量了,因此可以把这里的i看作全局变量(至少对这个例子是的),而上述的错误是对于局部变量而言的。(如果这个解释有问题,欢迎在评论区纠正)
注:C++中可以在内层作用域中重新定义外层作用域已有的名字
因此以下C++代码没毛病#include<iostream> using namespace std; int main(){ int i=0; for(int i=0;i<10;i++){ cout<<"i="<<i<<endl; } return 0; }
有关C++变量作用域可以点击下面的链接了解:
C++作用域 -
无法在此范围内声明为i的局部变量或参数,因为该名称在封闭局部范围中用于定义局部变量或参数
2020-02-27 21:10:20 -
unity 解决委托匿名函数中不能在此范围内声明名为“xxx”的局部变量,因为这样会使“xxx”具有不同的含义
2019-01-16 11:08:06 -
【TypeScript】无法重新声明块范围变量
2020-06-13 18:30:19当使用 TypeScript + TSlint + Babel + Jest 搭建开发环境时,在开发过程中偶尔会被 IDE 提示「无法重新声明块范围变量」,从而导致编译出错,报错图示如下: 相关开发环境配置如下: typescript: ^3.5.3 tslint: ... -
不能在此范围内声明名为“e”的局部变量,因为这样会使“e”具有不同的含义,而它已在“父级或当前”范围中...
2008-08-28 16:34:00编译器错误信息:CS0136:不能在此范围内声明名为“e”的局部变量,因为这样会使“e”具有不同的含义,而它已在“父级或当前”范围中表示其他内容了 源错误: 行29:adapter.Fill(ds); 行30:} 行31:catch... -
TypeScript 中的声明文件
2019-06-16 15:12:43TypeScript学习笔记 TypeScript 中的声明文件 ...学习 TypeScript 稍微有一段时间了,每次写都会碰到有关声明文件的问题,目前为止暂未完全搞清楚,在此记录一些相关问题,以后碰到能够迅速解决。 声明文件... -
如何在Python中使用eval ?
2020-12-04 03:18:19在Python中,我们有许多内置方法,这些方法对于使Python成为所有人的便捷语言至关重要,而eval是其中一种。eval函数的语法如下:eval(expression, globals, locals)如上所示,eval函数采用三个参数:expression –... -
《Python程序设计》判断题1-240题
2020-12-12 05:08:56(错)3、Python 3.x和Python 2.x唯一的区别就是:print在Python 2.x中是输出语句,而在Python 3.x中是输出函数。(错)4、在Windows平台上编写的Python程序无法在Unix平台运行。(错)5、不可以在同一台计算机上安装多个... -
JS中作用域以及变量范围
2019-07-09 16:11:42在js中声明全局变量,有下面几种方式: 1.在函数外通过var来声明。 var test ="hello"; console.log(test); function a(){ test="xx"; console.log(test); } a(); console.log(test); ... -
定义和声明
2018-08-24 16:11:29词义 定义:(definition)在不改变目标事物本身的前提下,对概念的内涵或语词的意义所做的简要而准确的描述。 声明:(declaration)公开...(对于变量,编译器确定变量的大小,然后在内存中开辟空间来保存其数... -
超硬核!十万字c++题,让你秒杀老师和面试官(上)
2021-04-21 10:46:15一个结构标记声明后,在C中必须在结构标记前加上struct,才能做结构类型名 虚函数可以声明为inline吗? 虚函数用于实现运行时的多态,或者称为晚绑定或动态绑定。而内联函数用于提高效率。内联函数的原理是,在编译... -
Java的声明抛出异常
2018-07-29 17:26:11如果一个方法(中的语句执行时)可能生成某种异常,但是并不能确定如何处理这种异常,则此方法应显示地声明抛出异常,表明该方法将不对这些异常进行处理,而由该方法的调用者负责处理。 在方法声明中用throws语句可以... -
华为C语言编程规范(精华总结)
2020-03-24 09:48:5510、只能通过包含头文件的方式使用其他 .c 提供的接口,禁止在.c 中通过 extern 的方式使用外部函数接口、变量 若a.c使用了b.c定义的foo()函数,则应当在b.h中声明extern int foo(int input);并在a.c中通过#... -
C++使用static的错误:无法解析的外部符号、“static”不应在文件范围内定义的成员函数上使用 .
2013-05-10 20:00:49当将类的某个数据成员声明为static时,该静态数据成员只能被定义一次,而且要被同类的所有对象共享。各个对象都拥有类中每一个普通数据成员的副本,但静态数据成员只有一个实例存在,与定义了多少类对象无关。静态... -
【C++】全局变量的声明与定义
2019-06-14 20:43:00文章目录编译单元(模块)声明与定义extern作用静态全局变量(static)全局常量(const) 编译单元(模块) 在VC或VS上编写完代码,点击编译按钮准备生成exe文件时,编译器做了两步工作: 将每个.cpp(.c)和相应的.h... -
IDEA插件:FindBugs-- 在Java程序中查找错误
2019-03-18 17:46:41FindBugs是一款静态分析工具,检查程序潜在bug,在bug报告中快速定位到问题的代码上。 FindBugs 运行需要 1.7 或更高版本的 JRE(或 JDK),但是它可以分析从任何版本的 Java 编译的程序,从1.0 到 1.8 IDEA安装... -
Go开发 之 基础语法(变量的声明、初始化、作用域,匿名变量,多变量赋值,变量逃逸分析)
2019-11-25 14:43:27文章目录1、变量的声明1.1、标准格式1.2、简短格式1.3、批量格式2、变量的初始化2.1、标准格式2.2、编译器推导类型的格式2.3、声明并初始化3、多个变量同时赋值4、匿名变量(没有名字的变量)5、变量的作用域5.1、... -
JSP九大内置对象和四种属性范围解读
2015-07-14 18:27:52本文首先主要讲解了JSP中四种属性范围的概念、用法与实例。然后在这个基础之上又引入了九大内置对象,并对这几大内置对象一个一个的进行分析的解读。内容很详细,例子都附有代码和运行的结果截图。 -
Java中访问修饰符public、private、protect、default范围
2018-08-30 11:39:23在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。广泛意义上的内部类一般来说包括这四种:成员内部类、局部内部类、匿名内部类和静态内部类。下面就先来了解一下这四种内部类的... -
C++的成员函数声明与定义 —— 类外定义成员函数以及inline函数
2018-08-08 01:04:51类的成员函数(简称类函数)是函数的一种,它的用法和作用和前面介绍过的函数基本上是一样的,它也有返回值和函数类型,它与一般函数的区别只是:它是属于一个类的成员,出现在类体中。它可以被指定为private(私有的... -
全局变量的声明、定义及用法
2019-01-20 21:38:46全局变量(extern)4.1 如果直接将声明和定义都放在头文件中会如何?5. 静态全局变量(static)6. 全局常量(const) 转载自https://blog.csdn.net/candyliuxj/article/details/7853938 转载自htt... -
mysql中各种类型变量的定义以及赋值使用
2016-08-01 17:19:00该文总体框架http://www.cnblogs.com/zhuawang/p/4090916.htmlhttp://blog.csdn.net/seteor/article/details/17682551MySQL存储过程中,定义变量有两种方式...可以在一个会话的任何地方声明,作用域是整个会话,称为用 -
Maven 依赖范围和依赖传递详解
2018-11-08 18:38:36Maven 依赖范围和依赖传递详解 ...第二原则:相同路径长度时,以pom中声明顺序为准 maven pom中配置 exclusion标签 手动去除依赖 dependencyManagement和dependencise的区别 ... -
C++之enum枚举量声明、定义、使用与枚举类详解
2018-06-10 19:58:07众所周知,C/C++语言可以使用#define和const创建符号常量,而使用enum工具不仅能够创建符号常量,还能定义新的数据类型,但是必须按照一定的...步骤(一)——枚举量的声明和定义 (1)首先,请看下面的语句:... -
ES 5、ES 6变量和函数声明以及作用域总结
2016-01-20 15:37:04变量提升JavaScript引擎在执行的时候,会把所有变量的声明都提升到当前作用域的最前面。当前作用域内的声明都会提升到作用域的最前面,包括变量和函数的声明。var v = "hello"; (function(){ console.log(v); var ... -
C++/C++11中命名空间(namespace)的使用
2017-11-19 18:54:40C++/C++11中命名空间(namespace)的使用 -
C++中的命名空间及其作用
2019-04-04 20:38:56在 C语言中定义了3个层次的作用域,即文件(编译单元)、函数和复合语句。C++又引入了类作用域,类是出现在文件内的。在不同的作用域中可以定义相同名字的变量,互不于扰,系统能够区别它们。 1、全局变量的作用域是... -
Java变量的声明、初始化和作用域
2017-07-31 20:34:07一.Java变量的声明在 Java 程序设计中,每个声明的变量都必须分配一个类型。声明一个变量时,应该先声明变量的类型,随后再声明变量的名字。下面演示了变量的声明方式。 double salary; int age; Boolean op; ...