草庐IT

void-compatibility

全部标签

c# - C、C++ 和 C# 中的 void 是什么意思?

希望了解有关“void”一词的来源以及为什么将其称为void的基本知识。这个问题的目的是帮助那些没有C经验的人,突然开始研究基于C的代码库。 最佳答案 基本上它的意思是“没有”或“没有类型”void的使用有3种基本方式:函数参数:intmyFunc(void)--该函数什么都不带。函数返回值:voidmyFunc(int)--函数不返回任何内容通用数据指针:void*data--'data'是指向未知类型数据的指针,不能被解引用注意:函数参数中的void在C++中是可选的,因此intmyFunc()与intmyFunc(void)完

c++ - 在将 void* 转换为任何内容时,我应该使用 static_cast 还是 reinterpret_cast

static_cast和reinterpret_cast似乎都可以很好地将void*转换为另一种指针类型。是否有充分的理由偏爱其中一个? 最佳答案 使用static_cast:它是准确描述此处进行的转换的最窄类型。有一种误解,认为使用reinterpret_cast会更好,因为这意味着“完全忽略类型安全,只是从A转换为B”。但是,这实际上并没有描述reinterpret_cast的效果。相反,reinterpret_cast有多种含义,所有含义都认为“reinterpret_cast执行的映射是实现定义的”。[5.2.10.3]但在

visual-studio-2010 - 无法使用 devenv 编译 vdproj - 'targeting ' x6 4' is not compatible with the project' s 目标平台 'x86' '

过去几个小时我一直在网上搜索,找到了很多与我的问题相关的信息-但没有一个真正解决它们。我的机器是64位的,安装了32位的VisualStudio10。解决方案使用.Net4。解决方案包括Crystal报表的64位安装。解决方案还包括log4net。在VS2010中编译项目对于Debug和Release,任何cpu都可以。我添加了一个我想要构建的Web设置项目。但是,无论配置如何,编译时都会出现以下错误(在VSUI和使用devenv.exe的命令行中):ERROR:File'CrystalDecisions.ReportAppServer.Prompting.dll'targeting'

java - Mockito 测试 void 方法抛出异常

我有一个返回类型为void的方法。它也可以抛出一些异常,所以我想测试那些抛出的异常。所有尝试都以相同的原因失败:Themethodwhen(T)inthetypeStubberisnotapplicableforthearguments(void)有什么方法可以让方法抛出指定的异常吗?doThrow(newException()).when(mockedObject.methodReturningVoid(...)); 最佳答案 括号位置不好。你需要使用:doThrow(newException()).when(mockedObje

ruby-on-rails - 错误 : Could not find GNU compatible version of 'tar' command while installing RVM

我正在尝试按照这篇文章中的说明进行操作:http://net.tutsplus.com/tutorials/ruby/how-to-install-ruby-on-a-mac/在我的Mac上安装Ruby。但是我得到这个错误:RyanT:~$\curl-Lhttps://get.rvm.io|bash-sstable--rails--autolibs=enabled%Total%Received%XferdAverageSpeedTimeTimeTimeCurrentDloadUploadTotalSpentLeftSpeed1001579010015790001475400:00:01

ruby - padrino 应用程序包更新 : could not find compatible versions for "tilt"

在我的padrino应用程序上运行bundleupdate给我:Bundlercouldnotfindcompatibleversionsforgem"tilt":InGemfile:padrino(=0.11.1)rubydependsontilt(~>1.3.0)rubypadrino(=0.11.1)rubydependsontilt(1.4.0)这才刚刚开始发生:不确定发生了什么变化。运行Ruby1.9.3-p392Gemfile看起来像:source'https://rubygems.org'ruby'1.9.3'gem'unicorn'gem'rake'gem'bcrypt

ruby - 为什么这个 Ruby 方法会返回 "void value expression"错误?

我有这个简单的方法defis_palindrome?(sentence) raiseArgumentError.new('expectedstring')unlesssentence.is_a?(String) safe_sentence=sentence.gsub(/\W+/,'').downcase returnsafe_sentence==safe_sentence.reverseendis_palindrome?"rails"当我运行它时,第4行出现错误voidvalueexpression,这是返回语句这是怎么回事? 最佳答案

ruby-on-rails - rails : Bundler could not find compatible versions for gem "actionpack" on installing ActiveAdmin

我在我的gemfile中添加了gem'activeadmin',github:'activeadmin'并进行了捆绑安装。然后它向我抛出以下错误。Bundlercouldnotfindcompatibleversionsforgem"actionpack":Insnapshot(Gemfile.lock):actionpack(=5.0.0.1)InGemfile:activeadmin(~>1.0.0.pre4)wasresolvedto1.0.0.pre4,whichdependsonformtastic(~>3.1)wasresolvedto3.1.4,whichdependso

c++ - 在标准下调用 std::function<void(Args...)> 是否非法?

所有报价均来自N3797.4/3[转化]AnexpressionecanbeimplicitlyconvertedtoatypeTifandonlyifthedeclarationTt=e;iswell-formed,forsomeinventedtemporaryvariablet这意味着没有表达式可以隐式转换为void,如voidt=e对所有表达式都是非法的e.如果e则更是如此。是void类型的表达式,如void(3).所以是void类型的表达式不能隐式转换为void.这导致我们:20.9.2/2要求[func.require]DefineINVOKE(f,t1,t2,...,tN

c++ - 在标准下调用 std::function<void(Args...)> 是否非法?

所有报价均来自N3797.4/3[转化]AnexpressionecanbeimplicitlyconvertedtoatypeTifandonlyifthedeclarationTt=e;iswell-formed,forsomeinventedtemporaryvariablet这意味着没有表达式可以隐式转换为void,如voidt=e对所有表达式都是非法的e.如果e则更是如此。是void类型的表达式,如void(3).所以是void类型的表达式不能隐式转换为void.这导致我们:20.9.2/2要求[func.require]DefineINVOKE(f,t1,t2,...,tN