草庐IT

MY_CONSTANT

全部标签

c++ - 错误 "requested alignment is not an integer constant"

我在解决GCC问题时遇到问题。我在GCC4.8下体验过它,但不是5.1。看起来它被报道了here和/或here.问题如下:templatestructS{staticconstintALIGN=16;__attribute__((aligned(ALIGN)))intx;};intmain(intargc,char*argv[]){Ss1;Ss2;return0;}和:$g++test.cxx-otest.exetest.cxx:9:41:error:requestedalignmentisnotanintegerconstant__attribute__((aligned(ALIGN

c++ - 'this' cannot be used in a constant expression error (C++)

全部。我有一个定义如下的类:classBoard{intcolumns,rows;boolboard[10][10];public:Board(int,int);voidnextFrame();voidprintFrame();};我的voidnextFrame()一直给我[rows][columns]的错误,因为对于它们两者来说“'this'不能在常量表达式中”。我怎样才能重新定义它以使其起作用?我明白这个错误。函数的定义如下,错误发生在以下代码示例的第3行。voidBoard::nextFrame(){intnumSurrounding=0;booltempBoard[rows][

c++ - Direct3D11(C++) : Updating Texture coordinates in constant buffer?

我正在尝试使用Direct3D制作一个相当基本的2D引擎。我制作了一个LoadImage()函数,它将图像的所有相当静态的行为存储在一个对象中。(着色器、顶点缓冲区、采样器等)我计划在常量缓冲区中使用矩阵定位顶点。但是,我还想有一个DrawImage()函数,它有一个参数来告诉纹理的哪一部分应该被绘制(剪裁),所以我必须更新纹理坐标。由于顶点缓冲区已经预定义,我想知道是否有一种方法可以通过发送到顶点着色器的常量缓冲区来更新纹理坐标?我希望我的问题足够清楚,如果您有任何疑问,请查看下面的代码。boolGameManager::GMLoadImage(Image*pImage,constc

c++ - 为什么我收到错误 : initializing argument 1 of 'Item::Item(int)' [-fpermissive] in Eclipse when I try to compile my C++ code?

我是C++的新手,在盯着它看了太久之后终于放弃了尝试编译它。编译器似乎出于某种原因拒绝了头文件中的构造函数原型(prototype)......我无法弄清楚它有什么问题。项目.h:#ifndefITEM_H_#defineITEM_H_classItem{public:Item(int);//ThislineiswhatEclipsekeepsflaggingupwiththeerrorinthetitlevirtual~Item();Item*getNextPtr();intgetValue();voidsetNextPtr(Item*);};#endif/*ITEM_H_*/在我的

c++ - "How to impress interviewers with my coding? What practices can I adopt in the code I' 已经为给面试官留下深刻印象的问题而写了吗?

假设有一个整数vector。现在我们想要合并,我们选择2个相邻元素v[I]和v[I+1](对于每个有效的I)并执行v[I]=v[I+1]+v[I]。并删除v[I+1]。继续这样做,直到vector中只剩下一个元素。(注意I=0&I=v.size()-1也被认为是相邻的)。所以我们需要尝试所有这些可能的组合(即我们首先采用哪一对并合并问题,如果需要进一步说明,请在评论中告诉我)每次我们合并时,我们都会做成本+=v[I]+v[I+1]。目标是最小化成本。举个例子说vector是123。合并[123]->[3,3]&cost=3->[6]&cost=9另一种方式[123]->[1,5]&co

c++ - 在 C : Will alignment break my neck? 中伪造继承

我有一个C结构,用于各种C和C++代码(通过extern"C")。#ifdef__cplusplusextern"C"{#endiftypedefstructAA;structA{/*somemembers*/};#ifdef__cplusplus}#endif分配、初始化和释放是由我控制的独立成员函数完成的,但我不控制对成员的访问,因为它们可以在任何地方访问。问题是,我无法更改整个系统中大量使用的header中struct的定义,但我仍然想扩展类型并添加一些成员。由于这必须编译为C++和C,我不能简单地创建派生类型structB:publicA。所以我的想法是将这种类型添加到cpp文

c++ - 如何连接 "constant strings"和字符?

执行以下操作的“正确方法”是什么?(注意,我还不想将消息输出到屏幕上,数据需要存储在一个变量中。)std::cout>input;std::stringmessage="Today'sprogramwasbroughttoyoubytheletter'"+input+"'.";代码给出了错误消息invalidoperandsoftypesconstchar*andconstchar[3]tobinaryoperator+。我明白为什么会出现此消息。在谷歌搜索解决方案时,出现的结果建议依次将每个项目转换为字符串。但是,如果您必须连接十几个项目,这就变得不切实际了:std::string(

C++ NetBeans : How to link my . o 文件到我的项目?

我买了一个类。我有header(.h)和目标文件(.o)。如何在我的NetBeansIDE中链接.o文件?谢谢! 最佳答案 您需要将您的.o文件添加为外部库。我能够使用以下步骤完成此操作:转到项目属性在Build->Linker选项下,将库添加到Libraries部分点击“添加库文件”导航到您的.o文件并选择绝对路径选项重建希望这对你也有用。 关于C++NetBeans:Howtolinkmy.o文件到我的项目?,我们在StackOverflow上找到一个类似的问题:

c++ - "integer constant is too large for ‘long’ 求最大质因数时键入"

我正在解决Euler项目3:Description:Theprimefactorsof13195are5,7,13and29.Whatisthelargestprimefactorofthenumber600851475143?这是我生成答案的代码。但是我需要一个整数类型来保存600851475143。当我在Mac上的GCC上编译它时,我得到:integerconstantistoolargefor‘long’type".我预计longlong可以轻松持有这个数字。我也试过让它未签名。为什么我的代码不能保存这么小的数字?我该怎么做才能让它发挥作用?#include#includeusi

c++ - OpenMP 和 C++ 并行 for 循环 : why does my code slow down when using OpenMP?

我有一个关于使用OpenMP(与C++)的简单问题,我希望有人能帮助我。我在下面提供了一个小示例来说明我的问题。#include#include#include#includeusingnamespacestd;intmain(){srand(time(NULL));//Seedrandomnumbergeneratorvectorv;//Createvectortoholdrandomnumbersininterval[0,9]vectord(10,0);//Vectortoholdcountsofeachintegerinitializedto0for(inti=0;i::iter