' myStateType'由#typedef引起的未在此范围内声明

时间:2017-04-07 19:45:38

标签: c++ visual-studio scope macros typedef

我尝试使用#typedef将类型声明为我自己的自定义名称以方便使用:

class Solution {
public:
    void dfs(vector<vector<char>>& board, int i, int j)
    {
        using namespace std;
        #typedef std::pair<int, int> myStateType;

        std::queue<myStateType> q; // error on this line
        ...
    }
};

但是,此行std::queue<myStateType> q;上显示的编译错误:

&#39; myStateType&#39;未在此范围内声明

我仍然无法弄清楚这个错误是怎么发生的?有任何想法吗?提前谢谢!

1 个答案:

答案 0 :(得分:1)

return subprocess.call('ps -e | grep %s > /dev/null 2>&1' % service, shell=True) 是C和C ++编程语言中的编译器令牌,不是MACRO

typedef

'myStateType'未在此范围内声明:表示您的程序无法识别类型: myStateType