auto

    0热度

    2回答

    此代码不能编译(英特尔ICC 15.0.3),即返回在这种情况下键入的是bool。为什么auto不能用作函数声明的返回类型?这个功能很好地支持DRY principle。

    0热度

    1回答

    我有以下简化文件和类: Stat.h: class Stat { auto getMinMaxValue(std::unordered_map< int, int >&); }; Stat.cpp: auto Stat::getMinMaxValue(std::unordered_map< int, int >&m) { return std::minmax_elem

    0热度

    1回答

    我定义了一个自动字符数组如下: char buffer[100]; 当我编译,编译器返回以下错误: error: (1250) could not find space (100 bytes) for variable _buffer 但是,当我将其更改为: static char buffer[100]; 程序编译成功。 注1: 我的目标设备16f1829。 注2: 编译器版本是1.

    3热度

    2回答

    Structured bindings已经与C++ 17一起引入。它们可以声明从元组或结构初始化的多个变量。 该代码使用c++17编译器进行编译。 #include <iostream> #include <tuple> int main() { auto tuple = std::make_tuple(1.0, 1); auto [ d, i ] = tuple;

    1热度

    1回答

    我有个宏: #define checkAlloc(ans) checkPointer((ans), __FILE__, __LINE__); 其用于环绕任何指针分配,以检查它是有效的(用于GPU设备上检查内存分配侧)。 宏的使用步骤如下: SomeObject* myObj = checkAlloc(new SomeObject()); 和checkPointer功能被实现为: inlin

    3热度

    2回答

    在main函数中,我创建了一个变量const int指针,将其指定给由auto&声明的变量。然后使用decltype(x)来检查类型。我预计这种类型是const int*。但是is_same返回false。 int main() { int a = 10; const int * cp_val= &a; auto& x = cp_val; bool is_

    -2热度

    1回答

    Visual Studio在auto**上显示错误。为什么? 我的代码: auto** getMetaInfo(SQLHANDLE sqlStmtHandle) { SQLCHAR colName[256]; SQLSMALLINT colNameLen; SQLSMALLINT dataType; SQLSMALLINT numDecimalDigit

    0热度

    1回答

    我有一个名为Handler的类,它存储了一些lambda表达式。我想要做的是有一个std::vectorstd::function存储我的所有事件,例如。我真的不明白为什么lambda不能按我的预期工作。 这里的handler.h: class Handler { public: Handler(); ~Handler(); void Register(cons

    0热度

    1回答

    这是我写的代码,看看如何auto关键字的作品,但它没有在Dev C++编译并给出以下警告: [警告] C++ 11自动只可用使用-std = C++ 11或-std = gnu ++ 11 如何克服这个故障并做出警告所要做的事情? #include<iostream> #include<string> #include<vector> using namespace std; int m

    2热度

    1回答

    试图理解为什么类型推导在这里与条件运算符一起失败。 在这种情况下,标准中的某些东西试图防止类型扣除?任何理解这一点的指针都会很棒。 auto mfact(int i) { return (0==i) ? 1 : i * mfact(i-1); } auto mfact2(int i) { if (0 == i) return 1; else