小编Ent*_*ops的帖子

对abs的暧昧呼唤

我有一个自定义数据类型,实际上可以是floatdouble.在除OSX之外的每个操作系统上,我都能够成功构建此C++ 11模板:

#include <cmath>
#include <cstdlib>
#include <cstdint>

template< class REAL_T >
inline REAL_T inhouse_abs(REAL_T i_val)
{
    return std::abs((REAL_T)i_val);
}

int main()
{
    int32_t ui = 2;
    inhouse_abs(ui);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但是,clang 6.0(3.5 LLVM)报告了一个模糊的函数调用.如果我abs改为fabs,则在OSX上解决了错误,但现在我的Linux clang,gcc和Visual Studio上出现了相同的错误.

使用fabs的Visual Studio出错:

349 error C2668: 'fabs' : ambiguous call to overloaded function
Run Code Online (Sandbox Code Playgroud)

UPDATE

这个例子在我们的OS X系统上编译,尽管在几乎相同的项目中它没有.解决方案<cstdlib>明确包含在源代码中,而不是包含在另一个头文件中.原因尚不清楚,但似乎是xcode/clang没有跟随我们的标题包括正确.

c++ macos cmath c++11

10
推荐指数
1
解决办法
2万
查看次数

Java实例变量的本地引用

在浏览Stagelibgdx源代码时,我遇到了这个段:

public void draw () {
    Camera camera = viewport.getCamera();
    camera.update();

    if (!root.isVisible()) return;

    Batch batch = this.batch;
    if (batch != null) {
        batch.setProjectionMatrix(camera.combined);
        batch.begin();
        root.draw(batch, 1);
        batch.end();
    }

    if (debug) drawDebug();
}
Run Code Online (Sandbox Code Playgroud)

(GitHub上的链接.)

我感兴趣的是这一行: Batch batch = this.batch;

我的第一个猜测是一些缓存改进.我是对的,还是有其他理由避免直接使用实例变量?

java libgdx

7
推荐指数
1
解决办法
105
查看次数

创建SipSession失败;网络不可用

我已将Android SIP演示加载到Android Studio中。我在getonsip.com上注册了一个帐户,将其添加到我的手机帐户中,并通过从getonsip.com网络应用程序以及从一部Android手机到另一部Android手机拨打电话来验证它是否可以正常使用。到目前为止一切都很好。

我稍微修改了演示中的Java代码以适应getonsip设置:

  SipProfile.Builder builder = new SipProfile.Builder(username, domain);
  builder.setOutboundProxy(proxy);
  builder.setPassword(password);
  builder.setAuthUserName(auth);
  builder.setAutoRegistration(true);
  builder.setPort(5060);
  builder.setProtocol("UDP");
  sipProfile = builder.build();
Run Code Online (Sandbox Code Playgroud)

然后,将其部署到我的手机(Galaxy S4,Android 4.4.2 API 19)。但是,当我尝试这样给自己打电话时:

  sipCall = sipManager.makeAudioCall(sipProfile.getUriString(), sipAddress, listener, 30);
Run Code Online (Sandbox Code Playgroud)

我总是得到相同的错误:

05-14 11:43:13.476    5061-5080/android.SipDemo W/System.err? android.net.sip.SipException: Failed to create SipSession; network unavailable?
Run Code Online (Sandbox Code Playgroud)

StackOverflow和互联网上的其他帖子对我没有帮助。我尝试在呼叫,重新启动电话以及将目标SIP地址更改为包括sip:<address>@getonsip.com和之前添加5秒的延迟sip:<address>@getonsip.com:5060,但始终是相同的错误消息。

有人知道如何解决这个问题吗?

java android sip opensips

5
推荐指数
0
解决办法
1121
查看次数

从Kotlin 1.3.31升级-&gt; 1.3.40中断了Android版本

如果我尝试在Gradle项目中升级到最新的Kotlin版本,则在构建Android子项目时会遇到以下错误:

e: /(redacted)/AndroidLauncher.kt: (8, 15): Cannot access built-in declaration 'kotlin.Unit'. Ensure that you have a dependency on the Kotlin standard library
Run Code Online (Sandbox Code Playgroud)

降级至1.3.31就可以了。我还尝试了从3.4.0-> 3.4.1升级com.android.tools.build版本,但没有区别。

该错误非常清楚地表明,找不到Kotlin STL有麻烦。是否需要添加一些新的依赖项或需要应用的插件?

android gradle kotlin

5
推荐指数
1
解决办法
611
查看次数

如何让 VS Code 在退出时不记住未保存的更改?

在此输入图像描述

VS Code 似乎维护着它自己的文件工作更改记录。(请参阅图像中文件名旁边的“点”,它表示未保存的更改。)

我希望它完全忘记这些更改并从磁盘加载文件。

关闭并重新打开文件和/或整个项目不起作用。放弃更改的按钮在哪里或者命令是什么?

ide visual-studio-code

3
推荐指数
1
解决办法
1349
查看次数

标签 统计

android ×2

java ×2

c++ ×1

c++11 ×1

cmath ×1

gradle ×1

ide ×1

kotlin ×1

libgdx ×1

macos ×1

opensips ×1

sip ×1

visual-studio-code ×1