草庐IT

Duck-typing

全部标签

java - Spring @Value TypeMismatchException :Failed to convert value of type 'java.lang.String' to required type 'java.lang.Double'

我想用@Value注解注入(inject)一个Double属性如:@ServicepublicclassMyService{@Value("${item.priceFactor}")privateDoublepriceFactor=0.1;//...并使用Spring属性占位符(属性文件):item.priceFactor=0.1我得到异常:org.springframework.beans.TypeMismatchException:Failedtoconvertvalueoftype'java.lang.String'torequiredtype'java.lang.Double'

java - Spring @Value TypeMismatchException :Failed to convert value of type 'java.lang.String' to required type 'java.lang.Double'

我想用@Value注解注入(inject)一个Double属性如:@ServicepublicclassMyService{@Value("${item.priceFactor}")privateDoublepriceFactor=0.1;//...并使用Spring属性占位符(属性文件):item.priceFactor=0.1我得到异常:org.springframework.beans.TypeMismatchException:Failedtoconvertvalueoftype'java.lang.String'torequiredtype'java.lang.Double'

c++ - '从 some_type** 到 const some_type** 的无效转换'

我有一个函数需要constsome_type**作为参数(some_type是一个结构,函数需要一个指向这种类型数组的指针).我声明了一个some_type*类型的局部变量,并对其进行了初始化。然后我将该函数称为f(&some_array),编译器(gcc)说:error:invalidconversionfrom‘some_type**’to‘constsome_type**’这里有什么问题?为什么我不能将变量转换为常量? 最佳答案 参见:Whycan'tIpassachar**toafunctionwhichexpectsaco

c++ - 从 type_id_with_cv<>()::pretty_name() 移除命名空间

我正在使用以下代码来检索类的名称:templatestringGetName(constT&object){usingtype=typenameremove_const::type>::type;returnboost::typeindex::type_id_with_cvr().pretty_name();}代码运行良好。但是,返回的字符串还包含namespace。有没有只返回类名的boost函数?我知道我可以自己写,重点是不要重新发明轮子。 最佳答案 这是轮子的另一项发明和可怕但快速的解决方案,基本上,利用命名空间结构和目录结构

c++ - Python API C++ : "Static variable" for a Type Object

我有一个关于静态变量和TypeObjects的小问题。我使用APIC包装一个c++对象(我们称它为Acpp),它有一个名为x的静态变量。让我们将我的TypeObject称为A_Object:typedefstruct{PyObject_HEADAcpp*a;}A_Object;TypeObject作为“A”附加到我的python模块“myMod”。我已经定义了getter和setter(tp_getset),这样我就可以从python访问和修改Acpp的静态变量:>>>importmyMod>>>myA1=myMod.A(someargs...)>>>myA1.x=34#usingth

c++ - 没有 typedef 的运算符 member_function_pointer_type()?

是否可以在不使用typedef的情况下创建一个operatormember_function_pointer_type()(即通过内联指定成员函数指针的类型)?例如,在实现SafeBoolIdiom时:classFoo{typedefvoid(Foo::*bool_type)()const;public:operatorbool_type()const;};是否可以在声明运算符时直接写出bool_type的类型?如果是,怎么办? 最佳答案 这似乎是唯一不能在不使用typedef的情况下声明(类型转换)operator的情况。如果它是

C++ 模板参数和偏特化 : strong or weak typing?

今天,我和我的一个friend在一个愚蠢的错误上苦苦挣扎,我想知道模板参数在C++中是如何工作的。考虑以下代码,我在其中尝试部分特化类attr>其中I是一个unsignedint,虽然MyClass期望一个int参数:#includetemplateclassMyClass{};templatestructattr;templatestructattr>{};intmain(intargc,char*argv[]){attr>att;return0;}g++失败并显示错误消息main.cpp:Infunction‘intmain(int,char**)’:main.cpp:20:22:

c++ - `unique_lock`、 `scoped_lock` 和 `lock_guard` 中指定的 mutex_type 的用例是什么?

用于保护std::mutex的c++11mutexRAII类型都有一个typedef:typedefMutexmutex_type;std::lock_guard::mutex_typestd::unique_lock::mutex_typestd::scoped_lock::mutex_type这个成员typedef有什么意义?起初我认为它可以用来概括创建一个对象来移动锁(在unique_lock的情况下)例如:templatevoidfunction(SomeLockin)SomeLock::mutex_typenewMutex;//Dosomething但我无法想象它的用途。需要

c++ - boost::multi_index_container::index<Tag>::type 有什么意义?

如果你有一个boost::multi_index_container对于多个索引,显然有多种方法可以对其进行迭代——每个索引都定义了一种方法。例如,如果您有一个标签为T的索引,您可以从container.get().begin()迭代至container.get().end().如果您尝试在for循环中这样做(并且没有C++0xauto),迭代器的类型是multi_index_container::index::type::iterator.现在index::type将是boost::multi_index::detail::ordered_index或结构上等效的东西。例如。它将提供

c++ - 私有(private)转换函数导致 "ambiguous default type conversion"错误 (c++)

首先,一个演示问题的小例子:structBar{enumBaz{aa,bb,cc};Bazbaz_;operatorBaz()const{returnbaz_;}private:templateoperatorT()const;};intmain(){Barbar;switch(bar){caseBar::aa:break;caseBar::bb:break;caseBar::cc:break;default:break;}return0;}使用g++4.7.0编译此代码会出现以下错误:foo.cpp:Infunction‘intmain()’:foo.cpp:12:16:error: