标签: casting

在C++中输入Casting Issue

从基类到派生类型转换我遇到了问题(我正在施法,因为我确定该对象是那种确切的类型).这是我的代码(简化):

class MyCollection 
{
public:
 Element* Get(int i) {
  return elements[i]; 
 }
 void Add(Element* element) {
   //finding i
   elements[i] = element;
 }
private:
 Element* elements[100]; 
}

class Element {
 public:
  int ID; 
}

class SpecialElement : public Element 
{
public:
 SpecialElement(char* name) { 
   this-> Name = name; 
 }
 char* GetName() { return Name; }
private:
 char* Name; 
}
Run Code Online (Sandbox Code Playgroud)

现在,当我加入SpecialElement的MyCollection的对象,当我把断点添加的时刻,投我的Add方法的参数在立即窗口和调用GetName方法还给我名字的对象,但是当我做这样的事情:

void main() {
 MyCollection coll = new MyCollection();
 coll.Add(new SpecialElement("MyName"));
 SpecialElement* foundElement = (SpecialElement*)coll->Get(0); 
 foundElement->GetName(); //Error
}
Run Code Online (Sandbox Code Playgroud)

我想知道为什么会这样?是不是ObjectElement类型的创建对象?

c++ casting

-2
推荐指数
2
解决办法
139
查看次数

iOS:如何在启用ARC的情况下转换为const char?

我有这个:

// Setup the SQL Statement and compile it for faster access
NSString *sqlStatement = @"SELECT * FROM nameList";

const char *sqlStatementC  = (const char* )sqlStatement;
Run Code Online (Sandbox Code Playgroud)

但ARC并不喜欢这样.有解决方法吗?

谢谢

casting const char ios

-2
推荐指数
1
解决办法
799
查看次数

如何将这种日期字符串转换为sql server的大整数?

好吧,这是多么愚蠢我保持我的日期为字符串

23.12.2012 21:24:31
Run Code Online (Sandbox Code Playgroud)

现在在选择查询中我想将它们转换为BigInt并进行搜索

casted version : "20121223212431"
Run Code Online (Sandbox Code Playgroud)

如下

select * from myTable where cast(datestring as bigint) > 20111223212431 
Run Code Online (Sandbox Code Playgroud)

如何在sql server上将这种字符串转换为BigInt?

编辑 - 为什么此查询无效

    select (convert(datetime,LastMoveTime,104)) as myTime from myTable
where myTime < DATEADD(day,-366,GETDATE())
Run Code Online (Sandbox Code Playgroud)

错误:列名称'myTime'无效.

sql-server casting date bigint

-2
推荐指数
1
解决办法
803
查看次数

将unsigned char数组转换为int

我想将unsigned char数组转换为数字.显示我的变量没有问题,例如使用("session:%d",session)模式,其中session是我的unsigned char数组,我得到的值类似于"session:1663616616"但我不知道如何转换会话表到整数.换句话说,我想以某种方式将表(?)转换为单个整数以使其中包含"1663616616".我真的很感谢你的帮助.

c++ arrays casting

-2
推荐指数
1
解决办法
6464
查看次数

为指针分配整数时,为什么使用强制转换更好?

我们假设我有这个代码:

  char *pointer;
  unsigned int a;
  pointer = a;
Run Code Online (Sandbox Code Playgroud)

对我来说,这不会产生任何问题,但我会收到以下警告:

assignment makes pointer from integer without a cast
Run Code Online (Sandbox Code Playgroud)

为什么使用演员阵容更好?我正在使用32位机器.

编辑:通过"这不会产生任何问题",我说它编译并指针存储变量的值a.

编辑:变量a实际上会存储一个地址.

c pointers casting

-2
推荐指数
2
解决办法
163
查看次数

CAST连字符( - )到十进制

我必须在SQL Server中将CAST' - '(连字符号)改为十进制(8,2).

我正在创建一个CTE并将一些数据转储到包含一些列的表中.对于1列,我需要转储' - 'AS DECIMAL(8,2).我将如何实现这一目标......

我在用

    SELECT CAST('-' AS DECIMAL(8,2)) Column1
Run Code Online (Sandbox Code Playgroud)

抛出错误:将varchar转换为数据类型numeric的算术溢出错误.

"我知道上面的查询或铸造无法完成",但我需要以某种方式实现它!请帮忙

我有几个查询用于将数据转储到物理表中.除此之外,第一个查询是上面创建一个包含4列的表.在col1中我需要输入' - '符号,在其他查询中是一个十进制'列'.第二个查询是将数据插入到同一物理表中.在从这个动态创建的物理表中获取数据期间发生了一些计算.这就是我需要将' - '(连字符)转换为十进制列的原因

sql sql-server casting type-conversion

-2
推荐指数
1
解决办法
1265
查看次数

c ++(unsigned)(long((double)(8)/(double)log(2.0))== 2?

正如标题所说我得到的东西非常不合理.

我有一个C++程序,我想要做的是弄清楚我的新高度对于二项式队列.

要做到这一点,我在标题中使用了算法:

(unsigned)(long((double)(8) / (double)log(2.0))
Run Code Online (Sandbox Code Playgroud)

它实际上看起来像:

// int count = # of nodes within my vector. 
(unsigned)(long((double)(count) / (double)log(2.0))
Run Code Online (Sandbox Code Playgroud)

并且它确实打印出一个双3.00000,但当我尝试将其转换为"unsigned int"时,它给了我一个2.

为什么它给我这个答案?救命?

c++ logging casting

-3
推荐指数
1
解决办法
492
查看次数

C#cast类型的帮助

我在继承的Membership Provider对象上编写了一个测试方法,并希望通过实际将成员资格提供程序转换为我的对象来调用该方法.成员资格不属于MembershipProvider类型.它是默认的Membership对象.

 ((MyMembershipProvider)Membership).Test();
Run Code Online (Sandbox Code Playgroud)

在此先感谢您的帮助.

c# asp.net casting

-3
推荐指数
2
解决办法
171
查看次数

铸造在C中运行不佳

使用xcode编程C,这是f

#include <stdio.h>

int multiply (int x, int y) {
return x * y;
}
int main()
{

float result = (float) multiply (0.2, 0.5);
printf("the result is %f", result);

}
Run Code Online (Sandbox Code Playgroud)

我没有得到正确的价值,我得到0.0000 !! 我做了铸造,但我不知道什么是错的.

c casting

-3
推荐指数
1
解决办法
85
查看次数

如何从一个字节创建一个字节[1]?

有没有更好的方式来获得byte[1]从一个byte比这个?

byte given_byte = 0x12;
byte[] wanted_byte  = new byte[1];
wanted_byte[0] = given_byte;
Run Code Online (Sandbox Code Playgroud)

我有given_byte.似乎没有必要使用两行来定义wanted_byte.

java casting

-3
推荐指数
1
解决办法
167
查看次数

标签 统计

casting ×10

c++ ×3

c ×2

sql-server ×2

arrays ×1

asp.net ×1

bigint ×1

c# ×1

char ×1

const ×1

date ×1

ios ×1

java ×1

logging ×1

pointers ×1

sql ×1

type-conversion ×1