这可能真的很简单,但是我无法弄清楚为什么这段代码无法编译
def limiteUsuario(self,*args):
u = self.var.get()
if len(u) == 1 and not 65<=ord(u)<=68: # you can also use *if not u in "ABCD"*
self.var.set("")
elif len(u) > 1:
if not 65<=ord(u[-1])<=68: # retirar ultimo caracter caso nao seja digito
self.var.set(u[:-1])
else: # aproveitar apenas os primeiros 5 chars
self.var.set(u[:self.max_user])
(https://wandbox.org/permlink/PdBwAWVh6N9rkTE2)
我该如何使用它?为什么不编译呢?
用例是 cd android
$ ./gradlew bundleRelease
是对 $ ./gradlew assembleRelease
,resolve()
,return
等不相关类型的重载。resolve(recursiveCat(node.nodes, category.label, treeData.length))
实例表示function recursiveCat(nodes, parLabel, indexC){
console.log("cat call");
Category.find({ parent: parLabel }).then( categories => {
categories.forEach((category) => {
var self_node = recursiveCat(node.nodes, category.label, indexC);
var node = {
key: category.label,
label: category.label,
index: indexC,
nodes: self_node
}
nodes.push(node);
});
return nodes;
});
}
知道如何重新解释和使用的内存。
答案 0 :(得分:3)
它不起作用,因为std::aligned_storage_t
不是类,它是某些实现定义的类型的类型别名。实际上,您拥有的是:
template <std::size_t Size, std::size_t Align>
void foo(typename std::aligned_storage<Size, Align>::type);
Size
和Align
不能从此推论,因为它是非推论上下文。您需要将std::aligned_storage_t
的两个实例都替换为std::aligned_storage
。然后,如果您需要对齐的类型,则可以使用::type
进行访问。
答案 1 :(得分:0)
Size
和Align
不能用std::aligned_storage<Size, Align>::type
推论。
您可以使用sizeof
/ alignof
检索(几乎)初始值:
template <typename T>
void foo(const T&)
{
constexpr std::size_t size = sizeof(T);
constexpr std::size_t alignment = alignof(T);
std::cout << size << " "<< alignment << std::endl;
}
Demo(由于示例的对齐,获取的大小为104而不是输入100)