typecast-operator

    1热度

    2回答

    我有表settings与列: value - VARCHAR类型包含设定值和type - 枚举类型包含变量类型"int", "string", "float"。如何使用type列中的字符串将此值转换为此类型? 我试图做到这一点在我的模型,但它不工作: public function getValueAttribute($value){ return ($this->type)$value

    0热度

    1回答

    我有一个类,它包装一个枚举并为其提供字符串转换。现在我介绍了模板参数'fastStringConvert',它控制着如何使用SFINAE进行转换(在这里找到:how can I use std::enable_if in a conversion operator?)。代码在MSVC下编译,但在GCC和Clang下失败。 error: no type named ‘type’ in ‘struct

    -1热度

    2回答

    我有一个查询返回的数组。我想数组是一个对象,所以我写: $object = (object)($array); 我想调用$对象的方法,但是当我启动: $object->getUsername(); 我得到这个错误: Attempted to call method "getName" on class "stdClass". 如何访问对象的数据? 这是我的课的一部分: class Us

    2热度

    1回答

    我希望在显示浮点值(或者在内存中更连续的)的原始字节时有一个非常简单的解决方案。在我的理解中,这被命名为类型转换(读取字节中的内存值)不被误解为转换(读取值并以字节解释)。 最简单的测试似乎是: import numpy a=3.14159265 print(a.hex()) # Returns 0x1.921fb53c8d4f1p+1 b=numpy.array(a) print(b.

    0热度

    1回答

    我需要抛出一个异常,当我做这样的类型转换时:(B*)a其中a是指向基类A的对象的指针,B是派生类。 class A { protected: int a; public: operator B*() { throw(1); } }; class B: public A { protected:

    0热度

    1回答

    想有一个2维数组布尔这样, bool table[16][16] 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 ...16[0][] ->1 0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 ...16[1][] ->2 0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1 ...16[2][] ->3 0,0,0

    1热度

    1回答

    我在Visual Studio 2005和2008下使用了一段简单的char缓冲区。 我今天转换为VS 2013,并且在不同的场景中出现模糊的转换错误。我删除了不需要的部分代码: #include <string> class ACP { public: ACP(const char* const init) : ourStr_(_strdup(init)), size_(str

    1热度

    3回答

    我在C++中有一个类,我希望能够打印一个对象,所以我创建了一个char *转换运算符。事情是,由于某种原因,运算符函数的输出是随机符号而不是我返回的字符串。 下面的代码: operator const char*()const { std::cout << (std::to_string(Nom) + '/' + std::to_string(Denom)).c_str() << std

    2热度

    2回答

    可有人请帮助我理解为什么下面的代码不会编译: template< typename T > class A {}; template< typename U > class wrapper { public: // cast operator operator wrapper< A<void> >() { return wrapper

    2热度

    1回答

    我知道这是重复的。我已经搜索过,但没有解决我遇到的问题。 注意在试图单出我的困惑我试图从原来简化类型转换。但愿它不是不确定的行为 声明一个指向函数 Int (*funcPtr)(void*,void*); STRCMP声明 int strcmp (char *, char *); 类型转换函数指针 FuncPtr = (int (*)(void*, void*))strcmp 这是我弄