我需要实现一个类似于C++ 11或C++ 14类型的STRING std:string,但具有以下附加约束/功能:
在所有其他方面,STRING应该表现得像std::string并且公开相同的成员函数std:string(例如.append()etc ..).
我的第一直觉是使用一个STRING包含a 的模板类std::string,如下所示:
template<int WIDTH= 0, bool FIXED = false>
class STRING {
static_assert(WIDTH >= 0, "WIDTH of STRING cannot be negative.");
public:
STRING() : value{} { }
STRING(const std::string &s) { if (is_valid(s)) value = s; }
STRING(const char c[]) { if (is_valid(c)) value = c; }
STRING& operator=(const std::string& s){ if (is_valid(s)) value = s;}
operator std::string() const { return …Run Code Online (Sandbox Code Playgroud) 我看了一下新ng generate @angular/material:material-nav在这近角博客功能项.
不幸的是,当在一个全新的项目中运行以下CLI命令时,我收到一条错误消息(见下文).
ng add @angular/material
ng generate @angular/material:material-nav
Run Code Online (Sandbox Code Playgroud)
错误信息:
Schematic input does not validate against the Schema: {"dryRun":false,"inlineStyle":false,"inlineTemplate":false,"changeDetection":"Default","styleext":"css","spec":true,"flat":false,"skipImport":false,"export":false}
Errors:
Data path "" should have required property 'name'.
Run Code Online (Sandbox Code Playgroud)
这种糟透了.我尝试添加这样的名字
ng generate @angular/material:material-nav home
Run Code Online (Sandbox Code Playgroud)
但它仍然会产生相同的错误.请指教.
Angular CLI:6.0.0节点:8.11.1 OS:darwin x64 Angular:6.0.0
我正在解析一个复杂的语法,这需要我定义一个enum class像这样:
enum class NULLSTYLE {
NULL,
NOTNULL
};
Run Code Online (Sandbox Code Playgroud)
既然我可以使用0或者nullptr在C++ 11中,我可以以某种方式抑制或覆盖C++自己的定义,NULL以便我可以坚持我的语法吗?