我正在尝试sine使用泰勒系列扩展构建一个简单的函数,可以在编译时使用C++ 14进行评估constexpr.我的代码正在编译,但编译器不会生成常量.
sine 定义如下:
template <int P, typename T = double> constexpr T sine(T x) {
T result = x;
for (int i = 1; i < P; ++i)
result += power<T>(-1, i) * power<T>(x, 1 + 2 * i) / factorial<T>(1 + 2 * i);
return result;
}
Run Code Online (Sandbox Code Playgroud)
我可以提供代码power,factorial如果需要的话.它们是微不足道的constexpr.
我sine在这样的循环中调用:
template <int N> void test(double *out) {
for (int i = 0; i < N; ++i) { …Run Code Online (Sandbox Code Playgroud) 使用在 macOS Sierra 的 GM 上构建的新 Xcode 8 GM,我重新编译了一个 Qt 5.7 C++ 项目,并且在尝试启动应用程序时收到以下错误消息:
原因:没有找到合适的图片。有没有发现:
/path/to/my/lib/libio_core.dylib: 格式错误的 mach-o 图像:符号表欠载 __LINKEDIT
这不会在调试版本中发生,只会在发布时发生。有没有人知道这意味着什么以及如何解决它?
更新:
这实际上与 Xcode 8 无关。使用 Xcode 7.3.1 构建相同的代码会产生相同的结果。似乎一些在 El Capitan 上运行良好的应用程序无法在 Sierra 上运行并因上述错误而失败。
更新 2:有关我的二进制文件中符号表的详细信息:
Load command 5
cmd LC_SYMTAB
cmdsize 24
symoff 0
nsyms 0
stroff 12760
strsize 8
Run Code Online (Sandbox Code Playgroud) 我正在尝试遵循Herb Sutter的C++指南,在这种情况下更喜欢unique_ptr原始指针和shared_ptr.赞成的一个论点std::unique_ptr是shared_ptr在某些时候需要的可兑换性.
在我来说,我有一个vector的unique_ptr,我需要传递给需要的方法vector的shared_ptr.我希望能写出类似的东西:
for (auto &uniquePtr : vectorUnique)
vectorShared.push_back(make_shared<Abstract>(move(uniquePtr));
Run Code Online (Sandbox Code Playgroud)
这为我的Xcode 7.1基于工具链配置的以下错误C++11:
错误:字段类型'Abstract'是一个抽象类.
似乎STL Abstract在我使用时试图保持一个具体的类型实例make_shared.这似乎使Sutter先生的建议在许多情况下变得不可行,所以我确信我一定做错了!我求助于写作:
for (auto &uniquePtr : vectorUnique) {
auto ptr = uniquePtr.get();
auto shared = shared_ptr<Abstract>(ptr);
vectorShared.push_back(shared);
uniquePtr.release();
}
Run Code Online (Sandbox Code Playgroud)
有一个更好的方法吗?
使用Qt 5.5.1oniOS 9我试图将动态创建的分配给 aQAbstractListModel的model属性ListView:
Window {
ListView {
model: api.model()
delegate: delegate
}
Component {
id: delegate
Text { text: "Test" }
}
}
Run Code Online (Sandbox Code Playgroud)
api是C++分配给QML上下文的对象setContextProperty。该model方法是一个Q_INVOKABLE返回一个QAbstractListModel *。这一切都有效,我ListView的数据填充了。
问题是当我开始滚动时。通常在第二次完整滚动(到底部,再次向上和向下)之后,我ListView开始自我清除。调试器告诉我QAbstractListModel正在被销毁。
我不想CppOwnership在模型上设置。有没有另一种方法可以防止ListView破坏其模型?
/me从 iOS 登录 Azure B2C Active Directory 后,我尝试调用Microsoft Graph API。
使用以下示例应用程序:https : //github.com/Azure-Samples/active-directory-b2c-ios-swift-native-msa我替换了常量,以便注册和登录工作。我已经设置kGraphURI为https://graph.microsoft.com/v1.0/me. 代码如下所示:
let kTenantName = "mytenant.onmicrosoft.com"
let kAuthorityHostName = "mytenant.b2clogin.com"
let kClientID = "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
let kSignupOrSigninPolicy = "B2C_1A_signup_signin"
let kGraphURI = "https://graph.microsoft.com/v1.0/me"
let kScopes: [String] = ["https://mytenant.onmicrosoft.com/api/user_impersonation"]
Run Code Online (Sandbox Code Playgroud)
的值kScopes设置为我的应用程序唯一可用的 API,它是作为设置用户策略的说明的一部分创建的。
当我尝试打电话时,https://graph.microsoft.com/v1.0/me我回来了:
{ "error": { "code": "InvalidAuthenticationToken", "message": "访问令牌验证失败。", "innerError": { "request-id": "e923673f-25cb-44be-b3b9-94eda660d4f6", "日期": "2020-02-11T08:31:24" } } }
如果我尝试设置kScopes为https://graph.microsoft.com/User.Read我得到一个错误:
无法获取令牌:错误域=MSALErrorDomain Code=-50000 "(null)" UserInfo={MSALErrorDescriptionKey=收到的身份验证响应没有预期的 accessToken, MSALInternalErrorCodeKey=-42008, …
c++ ×3
qt ×2
abstract ×1
azure-ad-b2c ×1
c++11 ×1
c++14 ×1
constexpr ×1
ios ×1
listview ×1
macos-sierra ×1
make-shared ×1
qml ×1
trigonometry ×1
unique-ptr ×1
xcode ×1