none
Metro UI 开发,我新建了一个类,里边会用到create_task的内容,但是 concurrency 使用的时候,会提示不存在,为什么呢? RRS feed

  • 常规讨论

  •  我新建了 一个类 class1 , 里边用到create_task,

    然后我在.cpp 的头部,using namespace concurrency;

    编译提示:

    error C2871:'concurrency': a namespace with this name does not exist ..

    为什么呢?

    2012年9月12日 4:07

全部回复

  • 你的Cpp的头还要加上

    #include <ppltasks.h>

    才可以找到该命名空间。 

    Thanks! Damon.Tian

    2012年9月12日 7:47
  • 是的,问题已经解决!

    感谢!

    再请教一个问题:

    我在MainPage 的类中,

       1. include class1 的header .

       2. 定义 Class1 ^ m_cls;

       3. 在MainPage.cpp 中,m_cls = ref new class1();

    我在Class1的类中,需要回调到 MainPage的方法:Notify.

    那么,我是这么实现的:

    1. Class1    header 中 ,include MainPage.h

    2.定义MainPage ^ basePage; 在Class1 的类定义中。

    问题是:

    编译时候出错:

    error C2143: syntax error: missing ';' before '^' ,指向MainPage.h 中 Class1 ^ m_cls;

    我分析,这样会形成头文件,重复包含。所以报错!

    但我要如何回避呢?

    先感谢高手了!

    2012年9月12日 8:37
  • 你好,

    如果Class1 内容不多的话,可以把Class1 放在MainPage.h 的同名namespace中。

    如果实在要分开的话,可以通过event 添加deleteage去做这件事情。

    参见

    http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh755799.aspx


    Jesse Jiang [MSFT]
    MSDN Community Support | Feedback to us

    2012年9月13日 4:53
    版主