问题标签 [redeclaration]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
objective-c - 属性声明 - ivar 和 getter 值不匹配
我对财产重新申报有疑问
概述:
- 类“A”是具有只读属性 int n1 的父类;
- 类“B”是子类,它将属性重新声明为读写
- 使用“B”类的设置器,属性值设置为 20
- 当我使用 getter 和实例变量打印值时,我似乎得到了不同的值
注意点: - 内存管理 = ARC (Automatic Reference Counting)
问题:
- 当我打印 self.n1 和 _n1 的值时,为什么会得到不同的值?
- 为什么我的预期行为和实际行为不匹配(请向下滚动查看实际与预期)?
代码:(在单独的文件中)
啊
是
溴化氢
BM
测试.m
预期行为:
实际行为:
php - PHP 有时会忽略函数重新声明吗?
我和几个朋友在一个网站上工作,最近,用户抱怨一个相当重要的功能除了返回一个空白页面什么都不做。这只发生在某些用户身上,而其他用户可以完美地使用它。
我查阅了调试输出,结果发现一个函数被声明了两次。一次在功能的主页 ( foo.php
) 中,另一次在获得require_once
'ed 的文件中。显然,我现在正走在修复它的正确道路上,但让我感到困惑的是,许多人在访问该页面时并没有遇到这个问题。两个函数声明是相同的;身体似乎已从一个文件复制+粘贴到另一个文件。这些函数声明都不是有条件的;它们都应该总是发生。
有谁知道 PHP 能够处理我的错误并使页面正常工作的情况,尽管有这个致命错误?
javascript - JavaScript eval() 和 const
我刚刚在使用 Mozilla Rhino 作为 JavaScript 引擎时偶然发现了一个奇怪的 JavaScript 错误。
这一行脚本会引发错误:
错误是:
如果该行被执行多次,我预计会出现这个错误 - 但它只执行一次,因为这一行是整个程序。
谁能解释一下,为什么会出现这个错误?
c - 同一行的枚举中的重新声明错误
我正在尝试为制造商提供用 MS Visual C++ 编写的 SDK 的设备创建 Matlab 接口。我在我的 C 文件(包含 mexfunction)中包含了来自 SDK 的标头,其中包含如下枚举:
在 matlab 中编译 C 文件以生成 mex 文件时,对于枚举的每个元素,我都会收到几个错误,如下所示:
错误 \LxT\useLxt.c: \LxT\LxT831.h: 713 重新声明先前在 \LxT\LxT831.h 713 声明的 `GROUP_DOSE_1'
错误 \LxT\useLxt.c: \LxT\LxT831.h: 714 重新声明先前在 \LxT\LxT831.h 714 中声明的 `GROUP_DOSE_2' ....
令人困惑的部分是重新声明在同一行。还有一点需要注意的是,这是 cpp 代码,而 matlab 使用的是 lcc c 编译器。任何提示/建议?
c++ - c++ 使用 *lec=fopen() 修复语法调试;
我正在和一个比我更了解的朋友一起编写一些 C++ 代码,并且代码有一个错误,我想帮助解决这个问题,因为我不知道如何......
编辑
编译器在第 59 行停止,其中:FILE *ecr("result.txt","wt");
被写入。
还有很多其他的事情要修复,我修复到 49 (现在 59 ;))我再次被阻止......
谢谢!
编辑(再次,抱歉) 带有消息:
如果有人能想出如何解决这个问题,那就太好了!
代码:
c - 错误:重新声明没有链接的“y2”
我正在尝试创建一个程序,该程序接收整数值并使用 atoi 将它们转换为 2 的补码整数,并确定进行了哪种类型的转弯。这是我的代码:
还有我的错误:
编译异常退出,代码 2 在 Sun Sep 22 20:07:02"
我想知道这个错误的原因。
谢谢,
c++ - C++ 允许重新定义全局(常量)变量吗?
我对全局常量有点困惑。我(初级)的理解是“全局”变量是在块之外定义的并且具有程序范围(来源: http: //www.learncpp.com/cpp-tutorial/42-global-variables/)。但是程序:
在 g++(GCC,最新的 64 位版本)中编译没有任何问题,即使使用 -Wall。
输出:
这让我很困惑。第一个 cout 评估的事实意味着 main 将“x”识别为“全局”变量(它没有在 main 的范围内定义)。如果是这样,为什么它让我重新定义'x'?
然后,如果您取消注释已注释的第三个声明,g++ 会引发重新声明错误。意思是,从我定义的意义上说,我的第一个声明不可能是“全球性的”:S
编辑:好的,问题与全局变量无关,但范围:例如http://pastebin.com/raw.php?i=V5xni19M中的相同问题
c++ - C++ 内联函数和重新声明
首先,对不起我的英语。
由于 GCC 完全忽略了内联说明符,所以我很难知道一个函数何时被我标记为内联。我想了解的是,当您对相同的函数进行一些重新声明(在相同的翻译单元或不同的翻译单元中)时,您的函数何时或在何种情况下被标记为内联(不管编译器会做什么)用你的提示)。
例如:
或者:
用不同的内联说明符重新声明函数是什么意思?一个更复杂的例子:
从 C++ 的排他性角度而不是从编译器的角度来看,print
函数是 inline 的(1)
吗?
我无法简明扼要地提出我的问题,但我认为该消息已收到:) 我试图了解何时应该将函数标记为内联,何时不从 C++ 和程序员的角度来看(无论将编译器使用您的函数生成)。
class - 类方法的可见细化
考虑以下小的 ocaml 类层次结构:
我想要实现的是细化wrt的领域x
,并在 z 的类型上看到细化,即class z
class y
不是我想要达到的。
我非常有信心有一种方法可以说服类型检查器对改进的兼容性,但是如何呢?