下面突出显示的句子是什么意思?它与功能模板有关系吗?
并非所有函数声明都可以重载。此处指定不能过载的那些。如果程序在同一作用域中包含两个此类不可重载的声明,则该程序格式错误。[?注意:此限制适用于范围中的显式声明,以及此类声明与通过using-declaration([namespace.udecl])进行的声明之间的声明。它不适用于因名称查找(例如,由于使用指令)或重载解析(例如,用于操作员功能)而构造的功能集。-?尾注?]
c++ overloading using-directives language-lawyer name-lookup
当我使用ReSharper添加using指令(使用Alt + Enter)时,它会删除命名空间的"不必要"部分.我更喜欢使用完整的命名空间,这也是Visual Studio的行为.
例:
namespace MyCompany.MyTool.Data
{
// This is what ReSharper gives me:
using Core;
// This is what I want:
using MyCompany.MyTool.Core;
// ...
}
Run Code Online (Sandbox Code Playgroud)
在ReSharper 4.5中我必须更改哪个设置才能使用完整的命名空间?
我对Twitterizer2有一个愚蠢的问题,可能是我:).我通过右键单击引用并浏览查找它们,从我的下载目录中添加参考twitterizer 2.3.1以及newtonsoft目录.
然后我补充说
using Twitterizer;
Run Code Online (Sandbox Code Playgroud)
我看到所有波浪形的红色下划线都消失了
在所有这些代码上:
OAuthTokens tokens = new OAuthTokens();
Run Code Online (Sandbox Code Playgroud)
当我去运行它(使用调试)时,我收到一个错误:
错误2找不到类型或命名空间名称"Twitterizer"(您是否缺少using指令或程序集引用?)
现在使用Twitterizer;
变得错误(红色和波浪形).就像它被解除引用一样.我把它添加回来,一切顺利,直到我运行它 - arggh
TIA
c# using-directives twitterizer visual-studio assembly-references
有一天,当我问一个问题有人回答道说,如果有人问一个问题,告诉他们正确的方式做到这一点,而不是using namespace std;,我认为是有点怪,因为using namespace std;是方式更容易,但我想我没有现在的我是一个'初学者'编码员,你们知道的更好.
所以我想我的问题是:为什么std::而不是using namespace std;?
谢谢.
我最近看到这个代码在C++项目的源文件中使用:
using namespace std;
#include <iostream>
Run Code Online (Sandbox Code Playgroud)
忽略所有关于是否一个好主意的问题,using namespace std上述代码是否合法?在这两行之前,文件中没有代码.
我原本以为这不会编译,因为namespace std在#include <iostream>指令将其包含到文件中之前尚未在范围中声明,但是使用项目的构建系统,这编译得很好.如果某人有指向规范相关部分的链接,那将非常感激.
使用该线路时
using std::literals::chrono_literals::operator""s;
Run Code Online (Sandbox Code Playgroud)
在g ++ 6.3.0中,编译器发出警告声明:
警告:未包含"_"的文字运算符后缀保留用于将来的标准化
Run Code Online (Sandbox Code Playgroud)using std::literals::chrono_literals::operator""s;
MSVS也发布了类似的警告.然而,铿锵声3.8.0没有发出这样的警告.
由于operator""schrono库的标准定义不应该发出警告,因为我们只是导入名称而不是定义名称?
c++ using-directives reserved-words language-lawyer user-defined-literals
在VB.Net中你可以做如下的事情,没有任何问题...只是忽略这是一个非常无用的类的事实:-)
Imports System
Public Class Class1
Public Shared Function ArrayToList(ByVal _array() As String) As Collections.Generic.List(Of String)
Return New Collections.Generic.List(Of String)(_array)
End Function
End Class
Run Code Online (Sandbox Code Playgroud)
但是如果你在C#中做同样的事情......
using System;
public class Class1
{
public static Collections.Generic.List ArrayToList(string[] _array)
{
return new Collections.Generic.List(_array);
}
}
Run Code Online (Sandbox Code Playgroud)
您将在"Collections.Generic.List"返回的行上收到错误,说"找不到类型或命名空间名称'Collections'(您是否缺少using指令或程序集引用?)"
我知道你必须有一个使用System.Collections.Generic的using指令才能使用List,但我不知道为什么.我也不明白为什么我在函数声明中没有得到相同的错误,只是在return语句中.
我希望有人可以解释这一点,甚至可以将我推荐给一个解释它的technet页面.我四处寻找,但找不到任何解释这个概念的东西.
编辑:请注意,问题实际上是关于子命名空间的引用,例如在示例中能够引用系统中的集合.
我的目标是了解如何正确使用angularJS.我希望能够使用angularJS将选择的变量绑定到动态更改DOM结构.我不认为我完全理解角度提供的文档,我没有在这里或其他地方找到任何示例.任何帮助表示赞赏.
这个想法是我有这个用例,我首先从选择的类型开始,然后从选择的类型开始,创建适当的输入类型元素,然后用ng-model记录(例如从textareas到复选框) ,一直由angularjs控制器控制验证/限制.我已经习惯了在页面上使用可克隆元素并使用jQuery销毁和创建新元素的想法,但我一直在阅读控制器不应该有这个逻辑,而应该使用指令/小部件创建.我没有看到任何指令或小部件以这种方式被操纵的例子,但是我甚至不确定如何继续.我是否可以使用指令以这种方式操作DOM,而不仅仅是基于观察元素的多次操作?
我想做什么的例子.
$scope.types = ['Type1','Type2']
// something along the lines of...
$scope.layouts = {'Type1':['textarea','textarea'], 'Type2':['numeric','datepicker']}
Run Code Online (Sandbox Code Playgroud)
选择类型1:
选择类型2:
谢谢,
-JR.
Visual Studio 2008为c#提供了两个很棒的功能,称为"使用指令排序"和"删除未使用的指令".
每次使用ctrl + k,ctrl + d格式化代码时,我都想调用"使用指令排序".
或者,更好的是,我希望能够重新格式化项目中的所有c#-source文件,并为所有源文件调用"sort using directives".
我怎样才能做到这一点?手动打开每个cs文件并在每次签入之前键入这些函数是单调乏味的!
c# code-formatting using-directives visual-studio-2008 visual-studio
using-directives ×10
c# ×4
c++ ×4
.net ×1
angularjs ×1
jquery ×1
name-lookup ×1
namespaces ×1
overloading ×1
performance ×1
resharper ×1
std ×1
twitterizer ×1
using ×1
vb.net ×1
widget ×1