0
为什么下面的代码中的赋值无法编译?为什么这个易失性指针convserion无效
struct foo
{
int* m_NormalIntPointer;
int* volatile m_IntPointerModifiedByManyThreads;
void func()
{
//compiles fine
void* pointerToNormalPointer = &m_NormalIntPointer;
//does not compile
void* volatile* pointerToPointerModifiedByManyThreads = &m_IntPointerModifiedByManyThreads;
}
};
如果m_IntPointerModifiedByManyThreads是一个指向一个int,并且该指针可以通过其它线程进行修改,并且“空隙*挥发性*”是一个指针,它指向可以通过其它线程被修改的指针,为什么用任务需要演员,其中非易失版本不?
挥发性预选赛无关,跟线程,除非你使用Visual Studio – Cubbi
@Cubbi的非标准扩展:或者使用IA64。 –